直接接続できないリモートホストにsshとかscpとかする話.
基本的には,SSH力をつけよう - SlideShare なんだけど,いくつかできない点があったのでメモ.
ログインできないけど socks proxy として動作する linux を通過
Host HOSTA
User [A_USER]
HostName [A_HOST_FROM_SOCKSHOST]
Port [A_PORT]
ProxyCommand nc -x [SOCKSHOST]:[SOCKSPORT] %h %p
ブラケット内を変更する.A_* は A の,って意味.FROM_* は,* から見て,という意味.
netcat は netcat-traditional では -x オプションが使えないので,netcat-openbsd にしないとだめポ
socks でアクセスできる host からなら届く linux
Host HOSTB
User [B_USER]
HostName [B_HOST_FROM_A]
Port [B_PORT_FROM_A]
ProxyCommand ssh -W %h:%p HOSTA
多分,nc でも同じことできるけど,ssh のオプションでトンネル.
これを Windows (WinSCP) でやる
socks の設定は「プロキシ」へ,踏み台の設定は「トンネル」へ.
多分,putty も似たような設定すればいいけど,私の環境だと wakeonlan とかの関係で一度 HOSTA に入るので,そんな設定は使うことがなく,よく知らない.