あいつの日誌β

働きながら旅しています。

多段 ssh の備忘録

以下のようなサーバー構成で local から target へ多段 ssh するケースがあります。

[local] <---> [proxy] <---> [target]

以下のコマンドが成立するケース。

% ssh -t user@proxy.server -i ~/.ssh/keys/local.key "ssh user@target.server -i ~/.ssh/keys/proxy.key"

こんなコマンドが必要とする場合、.ssh/config に以下のような記述をするとよいでしょう。

Host proxy.server
  Hostname xxx.xxx.xxx.xxx
  User user
  Port 22
  IdentityFile ~/.ssh/keys/local.key
  TCPKeepAlive yes 
  IdentitiesOnly yes 

Host target.server
  Hostname xxx.xxx.xxx.xxx
  User user
  Port 22
  IdentityFile ~/.ssh/keys/proxy.key # local に保存する必要がある
  ProxyCommand ssh proxy.server nc -w 10 %h %p

次のコマンドでいける

% ssh target.server

メモ

proxy.sever から target.server への ssh 時に ~/.ssh/config に proxy.key を使うようにすでに設定してあった場合があるとします。例えば次のコマンドが成立するケース。

% ssh -t user@proxy.server -i ~/.ssh/keys/local.key "ssh user@target.server"

この場合でも local に ~/.ssh/keys/proxy.key を保存しておかないと多段SSHができないようです。