踏み台サーバー経由でリモートサーバーに一発ログインする。
今まで Linux サーバーへの SSH ログインは PuTTY を使っていたけど、どうやらリモートサーバーへの一発ログインは TeraTerm マクロを使わないとできないみたい。
記憶を頼りに書いているので間違いがあるかもしれないけど、メモを残しておく。
まず、踏み台サーバーへのログイン用マクロ(ファイル名:InitialLogin.ttl)の中身はこんな感じ。
HOSTNAME = '(踏み台サーバーのホスト名)'
USERNAME = '(踏み台サーバーのログインユーザー名)'
PASSFILE = '(暗号化パスワードファイルのパス)'getpassword PASSFILE USERNAME PASSWORD
COMMAND = HOSTADDR
strconcat COMMAND ':22 /ssh /2 /auth=password /user='
strconcat COMMAND USERNAME
strconcat COMMAND ' /passwd='
strconcat COMMAND PASSWORDconnect COMMAND
wait '$' ((プロンプトはサーバーやユーザーの種類によって異なる。))
次に、リモートサーバーへのログイン用マクロ(ファイル名:RemoteLogin.ttl)はこんな感じ。
include '(InitialLogin.ttl ファイルのフルパス)'HOSTNAME1 = '(リモートサーバーのホスト名)'
USERNAME1 = '(リモートサーバーのログインユーザー名)'
PASSWORD1 = '(リモートサーバーのログインパスワード)'COMMAND = USERNAME1
strconcat COMMAND '@'
strconcat COMMAND HOSTNAME1sendln COMMAND
wait '$' ((プロンプトはサーバーやユーザーの種類によって異なる。))
sendln PASSWORD1
wait '$' ((プロンプトはサーバーやユーザーの種類によって異なる。))
マクロ内で定義した変数は、呼び出し側のマクロでも有効なので、被らないように定義するか(例:HOSTNAME1)、上書きして使いまわす(例:COMMAND)。
最後に RemoteLogin.ttl を実行すれば、一発でリモートサーバーへログインできる。
参考URL:
- TeraTermマクロ-SSH自動ログイン(パスワード暗号化編) | Tera Term(テラターム)の便利な使い方
- include 他のマクロファイルを経由する: terminal macro [ TeraTerm ]
- Tera Termマクロ活用入門(2):リモートマシンを自在に操作する | OSDN Magazine