はじめに
AWSのEC2インスタンスに接続する時、踏み台サーバ経由で接続していました。ただ、接続頻度が多くなってくると手間に感じてきたのでTeraTermマクロで自動接続することにしました。
接続環境
既存の対応
既存の対応は手間がかかっていました。参考までに手順を書いておきます。
まず踏み台サーバを経由してサーバAに接続するため、ポート転送の設定をします。TeraTermを起動しメニューバーから[設定]-[SSH転送]をクリックします。
ローカルポートは49152~65535の範囲で任意に指定します。今回は60001にします。リモート側ホストはサーバAのIPアドレス、ポートはサーバAにsshで接続するので22を入力します。「OK」ボタンをクリックして画面を閉じます。
踏み台サーバに接続します。
メニューバーから[ファイル]-[新しい接続]から対象サーバに接続します。ホストは127.0.0.1、TCPポートは任意に指定したローカルポート(60001)を入力します。
「OK」ボタンをクリックします。これでサーバAに接続できます。
今後の対応
マクロを作成してサーバAまでの接続を自動化します。
3つのファイルを同一フォルダ内に保存してバッチファイルを実行します。
バッチファイル(AutoConnection_TestSV01.bat)
@echo off
"C:\Program Files (x86)\teraterm\ttpmacro.exe" "C:\temp\TestServer_AutoLogin.ttl"
マクロファイル(AutoConnection_TestSV01.ttl)
「IPADDR」、「USERNAME」、「KEY_FILE」、「INI_FILE」は環境に合わせて設定して下さい。
;=========================================================================
;Description:対象機器に接続します。
;Author :ITStudy
;Created :2021/08/16
;Modified :
;=========================================================================
;接続先、ユーザー名、パスワード設定
IPADDR = 'IPアドレス'
USERNAME = 'ec2-user'
IPADDR2 = '127.0.0.1'
KEY_FILE = 'キーファイルのパス'
INI_FILE = '任意に作成したTeraTermのINIファイル'
;=========================================================================
;コマンド組み立て
COMMAND = IPADDR
strconcat COMMAND ':22 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEY_FILE
strconcat COMMAND ' /F='
strconcat COMMAND INI_FILE
;接続
connect COMMAND
;=========================================================================
unlink
COMMAND = IPADDR2
strconcat COMMAND ':65000 /ssh /2 /auth=publickey /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /keyfile='
strconcat COMMAND KEY_FILE
connect COMMAND
TERATERM.INI
INI_FILEは、「C:\Program Files (x86)\teraterm\TERATERM.INI」を元にポートフォワーディングの設定を追加したものを新たに作成して読み込ませています。
「C:\Program Files (x86)\teraterm\TERATERM.INI」を直接修正しても問題ありません。
該当の箇所を一部抜粋して記載
[TTSSH]
; SSH enabled flag (1=enabled 0=disabled)
; default login username (setup to authentication dialog)
DefaultForwarding=L60001:10.0.1.xxx:22
・・・
コメント