Fei3939の戯言

忘備録とかいろいろ愚痴ったりとか

TeraTermで多段ssh

構造

接続したいサーバが外部に公開されていないため、踏み台で多段sshをかける。
認証は公開鍵認証で自動化。

TeraTermの設定

TeraTermマクロでポートフォワード&踏み台サーバ経由での公開鍵認証を試みる | Tera Term(テラターム)の便利な使い方
まんまこの通りでいいんだけど、unlinkだと中間サーバとのsessionを残した状態で
画面が消えるはずが消えてくれない(そんなものかもしれない)

方法変更

手順の自動化。
接続元サーバ: host
中間サーバ: s1
対象サーバ: s2

  1. hostからs1にssh
  2. s1からs2にssh

これをマクロ化してTeraTerm起動時に読み込む

結果論

; hostから中間サーバへの接続コマンドの生成
COMMAND = '"<ttermpro.exeフルパス>" ' <中間サーバのIPorホスト名>:<ポート番号(sshだと22)> /ssh2 /auth=publickey /user=<ユーザー名> /keyfile=<公開鍵のフルパス>'

; 接続(host→中間サーバ)
connect COMMAND

; プロンプトを待つ($はbashなので)
wait "$"

; コマンド送信
sendln "ssh <ユーザー名>@<対象サーバ>"

; プロンプトを待つ
wait "$"

; 画面のクリア
sendln "clear"

おまけ

このマクロをデスクトップとかからショートカットで呼び出す。
さっき作った.ttlをフルパスで呼び出したttpmacro.exeに投げつける。

結論

めんどくさ