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