Tera Term ヘルプ

2021/10/02 18:06 Tera Term::使い方

Tera Term ヘルプ

Tera Term に付属しているヘルプファイルのことです。
通常は Tera Term ヘルプを参照すると、かなりの確率で解決します。

でも、なぜか参照されることの少ない、不遇なファイルです。

メニューの「ヘルプ(H)」から「目次(I)」を選択することで参照可能です。

言語の種類

Tera Term ヘルプは現在、英語と日本語の 2 種類が用意されています。

ヘルプファイルの開き方

日本語でインストールした際、英語版ヘルプを見たいときの方法は 2 種類あります。
ヘルプファイルを直接開く
Tera Term をインストールしたフォルダに「teraterm.chm」「teratermj.chm」があります。

「teraterm.chm」が英語版です。
「teratermj.chm」が、日本語翻訳版の位置付けになっています。

現在のオープンソース版 Tera Term 以前の Tera Term Pro 2.3 は、英語版しかなかった時代があります。
環境を英語版に設定する
メニューの「設定」から「全般(G)...」を開きます。

日本語環境設定


ここで「言語UI(U)」を Default.lng に変更します。
(環境変更において「言語(L)」は、変更してもしなくても差し支えありません)

英語環境設定


「OK」をクリックすると、インターフェースが英語版に切り替わります。

メニューから「Help」→「Index」を参照すると、英語版ヘルプファイルが開きます。

2019/06/11(火)Tera Term ログイン自動化での注意点

Tera Term は便利なツールですが、使い方を誤ると大変危険なものになります。

危険な使い方について、なぜ危険なのかを解説しつつ、どういうタイミングで使えばいいのかを解説します。


結論から

パスワードの入力は、横着せずに毎回入力しましょう。
それが、たぶん一番安全です。

きっと一番なのは使わないことなんでしょうが…このサイトの意味がないですし、そもそも便利なツールでも「使いどころに注意してね」というスタンスなので、自己責任でお願いいたします。

要注意

使いどころに注意を要するものです。

/passwd オプション

コマンドラインでも、マクロの connect でも使える、オートログインに必須なスゴイやつですが、じつはオプション指定というのは OS 側で平文で管理されてます。

Tera Term の利用時、パスワードは毎回手で入力することが望ましいです。
たとえば Tera Term のログインマクロでホストへログインしたあと、コマンドプロンプトで以下を実行してみましょう。
command prompto> wmic process where "name = \"ttermpro.exe\"" get name,commandline
あなたの環境では、どう表示されたでしょうか。
私の環境(Windows 10 Pro)では、Tera Term で接続しているホスト名、ポート番号、アカウント、パスワード、全部表示されてしまいました。

一応、回避策はあるようです。
connect コマンドに対する既存の接続オプションの変数を connect_option と仮定して、次のように 2 ステップ踏むようにすると、Windows 側に表示されなくなりました。

sprintf2 connect_option "%s:port /auth=password /user=%s /passwd=%s" hostname username password

; launch Tera Term
connect '/DS'

; connect to server
connect connect_option

ただ、サンプルのログインマクロでは、このような段階を踏んだアクセス方法は記載されておらず、利用している人は少ないのではないかと個人的に思っています。


これくらい軽い動作でアカウント情報を出力できるなら、AD とかに仕込めたらアカウント抽出が捗りますね。
Tera Term ログインからでさえ省力化するなら、アクセス管理サーバがあってもきっと公開鍵を大量に配布して ssh もパスワードなしでログインしていることでしょう(憶測)。
そうでなくても、passwordbox コマンドでパスワードを暗号化したファイルをローカルに置いているに違いない!(妄想)

冗談はともかく、オプションを表示させるのは Windows 側の仕様なので、適切に回避するしかなさそうです。

passwordbox コマンド

こちらもオートログインでは非常に重要なコマンドですね。
入力されたパスワードを暗号化して、ファイルへ保存してくれます。
もちろん、次回の利用では復号化を行ってくれます。

passwordbox で作成したファイルのパスは、ご存知ですか?
また、それをテキストエディタで参照することができるのもご存知でしょうか。


ここで唐突に、某所で公開されていたソースコードを貼り付けます。
wfile =    'パスワード解析結果.txt'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; ファイル定義
:FileInput
inputbox 'パスワード DAT のパスを入力してください。' 'Path input'
pwdat = inputstr

strlen pwdat
if result = 0 then
	goto FileInput
endif

; ファイルの存在確認
filesearch pwdat
if result = 0 then
	sprintf2 msg 'ファイル %s がありません\n終了します' pwdat
	strspecial msg
	messagebox msg 'Error'
	exit
endif

; Passowrd file Open (ファイルハンドラ:fhPWDAT 読み取り専用)
fileopen fhPWDAT pwdat 0 1

; Write file open (ファイルハンドラ:fhWrDat)
fileopen fhWrDat wfile 0 0

; 上から順に変数へ格納
while 1
	filereadln fhPWDAT line
	if result = 1 then
		break
	endif

	;; 解析開始
	strscan line '='
	if result = 0 then
		; [定義部分]
		strscan line '['
		if result then
			pLpw = line
			strtrim pLpw '['
			strscan pLpw ']'
			if result then
				strtrim pLpw ']'
			endif
		endif
		filewriteln fhWrDat line
	else
		; パスワード識別子
		strsplit line '='
		PassName = groupmatchstr1 

		getpassword pwdat PassName pLpw

		sprintf2 msg '%s=%s' PassName pLpw
		filewriteln fhWrDat msg
	endif
endwhile

; File Clese
fileclose fhWrDat
fileclose fhPWDAT

上記のソースをコピペ後、「pw解除.ttl」等の適当な名前で、保存します。
ソースをオープンしているので、妙なコードが書かれていないか、ご自身で確認してください。

pw解除.ttl を実行しましょう。
パスワード解除


先ほど参照した passwordbox で作成したファイル 「.dat」 を、フルパスで指定してあげます。

すると、マクロが置いてあるフォルダに「パスワード解析結果.txt」というテキストファイルが作成されるので、開きます。

パスワードが復号化できたことを確認します。


…つまり、いくら暗号化されているとはいえ、ファイルが流出してしまえば解読は1瞬です。
メモにアカウントを書いているのと、あんまり変わりません。

passwordbox を使う場合は、くれぐれもファイルの流出にご注意ください。

対策としては、暗号化パスワードのファイルを暗号化アーカイブで保存しておくことでしょうか。
必要に応じて解凍→削除を行えば、それなりにパスワードを保護できるでしょう。

コマンドラインでファイルを暗号化できるアーカイバを導入して exec で指定することも一考の余地はありそうです。

なお、このブログは Tera Term がメインなので、他のターミナルエミュレータのことは分かりません。
繰り返しますが、スタンスとしては「使いどころに注意してね」と。

TeraTerm マクロの使い方

2021/05/18 05:04 Tera Term::使い方

TeraTerm マクロの使い方

マクロとは、操作を自動化するための技術の総称です。
そのため、Tera Term マクロというと、Tera Term の操作を自動化するための技術、という意味になります。

マクロファイルとは、プログラムに行わせたいコマンドをそのままテキストファイルに記述したものです。
そのマクロを Tera Term に読み込ませる方法ですが、割と種類があります。

続きを読む

Tera Term の使い方

Tera Term の起動と終了


Tera Term の起動方法

いろいろな起動方法側あります。

Windows スタートメニューから起動

まずはオーソドックスな方法を。

スタートから、「Tera Term」 → 「Tera Term」と探して、Tera Term を起動します。

Tera Term 起動
Windows スタートメニューからTera Term 起動

プログラム検索から起動

Windows キーを押して tera と入力すると Tera Term が検索表示されるので、そのまま Enter する方法をよく使っています。

探すより、入力するほうが早い人向けです。

Tera Term 起動
プログラム検索からTera Term 起動

コマンドラインから起動

コマンドラインから起動させる方法もあります。
"c:\Program Files (x86)\teraterm\ttermpro.exe"

コマンドライン起動
コマンドラインから Tera Term 起動

※ 途中にスペースが入ってしまうとフルパスでのプログラム起動ができなくなってしまうため、ダブルクォーテーションで括っています。
※ 筆者の環境では、Tera Term を E ドライブにインストールしているため、サンプル画像では e ドライブを指定して起動しています。

コマンドラインからの起動方法で使えるオプションは、Tera Term マクロでホストに接続する際の connect コマンドに対するオプション指定と同じであるため、知っておく価値があります。
TTERMPRO [ <host>[[:]<TCP port#>] | telnet://<host>[:<TCP port#>][/] | \\<server>\pipe\<pipe name>]
         [/B] [/BAUD=<speed>] [/C=<serial port#>] [/DS] [/E] [/ES]
         [/F=<setup file>] [/FD=<file transfer directory>]
         [/H] [/I] [/K=<keyboard setup file>]
         [/KR=<kanji code (receive)>] [/KT=<kanji code (transmit)>]
         [/L=<log file>] [/LA=<language>] [/M=<macro file>] [/NOLOG]
         [/P=<TCP port#>] [/R=<replay file>] [/SPEED=<speed>] [/T=<telnet flag>]
         [/TEKICON=<icon name>] [/TIMEOUT=<connecting timeout value>]
         [/V] [/VTICON=<icon name>] [/W="<window title>"] [/WAITCOM]
         [/X=<window pos (x)] [/Y=<window pos (y)] [/PIPE]
         [/AUTOWINCLOSE=<flag>]
         [;<comment>]
筆者がよく利用するオプションは、以下の通りです。
オプション使用例意味
<host>192.168.1.1アクセス先ホスト名 or IPアドレスを指定します。
<host>[[:]TCP port#]192.168.1.1:10022アクセス先ポート番号を含むアクセス先ホスト名 or IPアドレスを指定します。
/L=<log file>/L=teraterm.logログ取得のためのファイルパスを指定します。起動時に自動でログ取得が開始されます。
/M=<macro file>/M=mymacro.ttlTera Term 起動時に読み込む Tera Term マクロファイルを指定します。
;<comment>[; コメント]この起動オプションに対するコメント。サーバ名を入れておくと、アクセス先が分かりやすいと思います
※ ファイルパスは、絶対パスでも相対パスでも指定可能です。

Tera Term の終了方法

ログアウトと同時に終了(デフォルト)

Tera Term のデフォルトでは、ログイン先サーバからログアウトしたり、ネットワークエラー等で接続が切れたりすると、同時に終了されます。

ログインしていたサーバでは、通信が途切れたことを検知すると自動でセッションを終了します。
ログを取得していた場合、それらも Tera Term と同時に終了します。

ログアウトせずに Tera Term を終了

複数の Tera Term をまとめて終了させたい場合は、メニューの「ファイル」から「Tera Termの全終了」を選択することで可能です。

これらで、ログアウトせずに終了しようとした場合は「切断しますか?」というメッセージボックスが表示されます。

終了確認
終了確認 メッセージボックス

「OK」を押すと、Tera Term は自動でログアウト処理をしてから終了します。
ログを取得していた場合、それらも Tera Term と同時に終了します。

ログアウトした後も終了しない

設定次第ではログアウト後にも画面を残したままで、別なサーバにアクセスできるようになります。
一時的な設定
メニューの「設定」から「TCP/IP...」を選択し、「自動的にウィンドウを閉じる」のチェックボックスを外して、OK ボタンをクリックしてください。

通常
チェックボックスを外した状態
ログアウト後の設定可否

この設定のとき、ログアウト後に Tera Term を終了したい場合は、メニューの「ファイル」から「終了」を選択します。
ログを取得していた場合、それらはログ取得を続けます。
永続設定
一時的な設定を行った後、メニューの「設定」から「設定の保存」を選んで、設定情報を保存してください。

詳細は teraterm.ini を参照してください。