N番煎じだが、どこで見かけたか忘れるので自身の備忘録。
前提条件
-
Local -> Remote01 -> Remote02
こういう接続をssh Remote02
のコマンド一発でしたい。 -
Local -> Remote01
、Remote01 -> Remote02
の接続が鍵認証で出来ること。 - 接続には鍵認証を利用し、秘密鍵はLocalに
secret_key01
、secret_key02
として、~/.ssh
下に保存されているとする。 -
Local -> Remote01
がsecret_key01
-
Remote01 -> Remote02
がsecret_key02
configファイルの記述
ProxyCommand
を組み合わせると実現できる。.ssh/config
に次のように追記する。
Host Remote01
HostName example01.com # remote01 のIP/Host name
IdentityFile ~/.ssh/secret_key01
User user01
Host Remote02
HostName example02.com # remote02 のIP/Host name
IdentityFile ~/.ssh/secret_key02
User user02
ProxyCommand ssh Remote01 -W %h:%p