Tera Term 設定変更の保存

2021/10/02 19:01 Tera Term::使い方

Tera Term 設定変更の保存



Tera Term の設定は、変更しただけでは次回起動時に反映されません。
一時的な設定変更と恒久的な設定変更は、分けて考える必要があります。
また、デフォルトで読み込まれる設定と個別に読み込ませたい設定も、分けて考える必要があります。

ひとつの設定変更を、全ての Terminal に反映してしまうと不都合*1 があるため、セッション接続後は Terminal ごとに設定を変える必要があります。

この考え方は、マクロを利用する場合も同じです。

設定の保存方法

設定変更した内容を保存するため、メニューから「設定(S)」→「設定の保存(S)...」を選択します。

設定保存選択
設定保存選択

保存した設定を次回の起動時から読み込ませるために、TERATERM.ini *2 のまま「保存(S)」をクリックします。

設定保存先選択
設定保存先選択
保存先の違いによる Tera Term の挙動の違いは、以下を参照してください。

設定の保存先 (デフォルト)

基本となる「設定の保存先」はあります。
マイドキュメント
Tera Term は、まずマイドキュメントから TERATERM.ini を探します。
C:\Users\Default\Documents\TERATERM.ini
これは、複数のユーザが同じ設定を共有するような、限られたアクセス端末で異なるユーザに対し、接続設定を指定することができるという意味で有用です。
ただし、現状は仮の設定という扱いのため変更される可能性があります。
プログラムのインストール先
マイドキュメントに TERATERM.ini がない場合、Tera Term がインストールされたフォルダにあるものを利用します。
C:\Program Files (x86)\teraterm\TERATERM.ini
これも削除されていた場合、すべてデフォルト設定で起動します。

設定の保存先 (ユーザ・カスタム)

任意の場所に、任意の名前で設定ファイルを保存することも可能です。
その場合は起動時にオプションとして指定したり、接続後に読み込んだりする必要があります。
設定の読み込み (1)
Tera Term 起動時に、オプションとして設定ファイルを読み込ませる方法があります。
起動時にオプションとして読み込む方法は Tera Term の起動と終了 を参照してください。

マクロを利用する場合も、起動時にオプションとして読み込むことになります。
設定の読み込み (2)
セッション接続後でも、設定ファイルを読み込むことが可能です。
設定ファイルの読み込みは、メニューから「設定(S)」→「設定の読み込み(R)...」で読み込みたい設定ファイルを選択し、「開く(O)」で、現在開いている Terminal に内容を反映します。

なお、設定内容によっては、起動時に読み込んでいなければ有効にならない設定 *3 もあります。
使いたい機能によって、設定ファイルの読み込みタイミングに注意してください。

*1 : たとえばアクセス先によって背景色を変えたいといった要望に応えられなくなることがあります。

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

*3 : 例えば Xクライアントアプリケーションの転送は、セッション開始前に設定を有効化して利用するもの。

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 の使い方