TeraTermでSSH転送の方法を調べると手動で設定するように説明されているかマクロを使うかの2択が大半ですが、マクロとして書かれているコードをよくよく見ると、やっていること自体は1つのコマンドを実行しているだけで、妙に長いコードは文字列をくっつけ合わせるだけの冗長な処理だったりします。
SSH転送は次のようにコマンドライン引数を指定すればマクロを使わなくても起動できます。
"C:¥Program Files (x86)¥teraterm¥ttermpro.exe" "203.0.113.1:22" "/ssh2" "/auth=publickey" "/user=akihiko" "/keyfile=C:¥My¥Settings¥Network¥SshKey.ppk" "/ssh-L10022:192.168.1.1:22"
上記のSSH転送を利用して、最終接続先へアクセスするウインドウは次のように起動します。
"C:¥Program Files (x86)¥teraterm¥ttermpro.exe" "localhost:10022" "/ssh2" "/auth=publickey" "/user=akihiko" "/keyfile=C:¥My¥Settings¥Network¥SshKey.ppk"
ネットワーク構成
上記の2つのコマンドは次のようなネットワーク構成を想定しています。
1つめのコマンドによってPCは踏み台サーバーへSSHアクセスし、さらに、PCの10022番ポートを開けます。PCの10022番ポートにアクセスすると、最終接続先の22番ポートまで転送される状態になります。
2つめのコマンドは、1つめのコマンドで空けて置いた10022番ポートにアクセスするだけです。前述のとおり、これによって最終接続先の22番ポートに接続されます。