TeraTerm マクロで自動で SSH してくれるようにしてみた備忘録
今回は、TeraTerm のマクロ機能を使って自動で SSH 接続を行う方法について紹介します。
TeraTerm のバージョン 4 系、5 系のどちらでも動作するはずです。
概要
今回の仕組みでは、以下の2つのファイルを作成します。
env.ttl
共通の環境設定を記述したファイルです。鍵ファイルのパスや認証方法など、共通するパラメータをここで設定します。マクロ本体(例: auto_ssh.ttl)
接続先の情報を設定し、env.ttlを INCLUDE して利用するマクロです。
env.ttl
まず、以下のように env.ttl を作成します。
このファイルには、鍵ファイルのフルパス、SSH バージョン、認証方法などの共通設定を記述しています。
; 共通環境設定ファイル ; 鍵ファイルのフルパスを設定(必要に応じて変更) ; 例: KEYFILE = 'C:\keys\id_rsa.ppk' KEYFILE = "\path\to\private-key" ; SSHバージョンを設定 SSH_VERSION = 2 ; 認証方法を設定('key' または 'password') AUTH_METHOD = 'key' ; ユーザー名(共通部分があればここに設定) ; USERNAME = 'your_username' ; 必要に応じてコメント解除して設定
マクロ本体
次に、同一ディレクトリに以下のようなマクロ(例: auto_ssh.ttl )を作成します。
ここでは、接続先のホスト、ポート、ユーザー名を設定し、 env.ttl を読み込むことで共通設定を反映させています。
;===================================================================== ; 接続情報 HOST = 'IP_or_HOSTNAME' PORT = 'PORT_NUMBER' USERNAME = 'USERNAME' ENV_FILE = "env.ttl" ;===================================================================== INCLUDE ENV_FILE cmd = HOST strconcat cmd ':' ; HOST: を作成 strconcat cmd PORT ; HOST:PORT strconcat cmd ' /ssh /2 /auth=publickey /user=' strconcat cmd USERNAME strconcat cmd ' /keyfile=' strconcat cmd KEYFILE connect cmd end
マクロのポイント
INCLUDE 文
マクロの先頭でenv.ttlを INCLUDE することで、共通設定を読み込みます。 これにより、複数の接続先で共通の設定を一元管理することが可能です。接続コマンドの生成
strconcatを利用して、SSH 接続用のコマンド文字列を順次組み立てています。 接続先のホスト、ポート、ユーザー名、鍵ファイルのパスが一つの文字列にまとめられ、connectコマンドで接続が実行されます。バージョン対応
TeraTerm バージョン 4 系、5 系どちらでも動作する仕様となっていますので、環境に合わせてご利用ください。
まとめ
今回紹介した方法を利用すれば、複数の接続先で共通設定を持たせつつ、手軽に SSH 接続を自動化することが可能です。
TeraTerm のマクロ機能はシンプルですが、柔軟な設定ができるため、さまざまな環境で活用できます。
また、マクロが増えたうえで、キーが変わっても env.ttl を書き換えるだけで引き続き使えるところも魅力です。