多段SSHでPrivate SubnetにあるEC2インスタンスに接続する

Private SubnetにEC2インスタンスを立てて使う場合、踏み台を経由して接続できるようにしたほうが色々と便利なことが多い。

というわけで多段SSHの設定を書き残しておく。

結論

~/.ssh/config に、ProxyCommandを使いつつ、例えば下記のように記載する。

bastion(踏み台)がPublic SubnetにあるEC2インスタンス、targetがPrivate SubnetにあるEC2インスタンス

Host bastion
    HostName xxx.238.91.108 <- public ip

Host develop-target1
    HostName 10.0.72.5 <- private ip

Host develop-target2
    HostName 10.0.72.6

Host develop-*
    ProxyCommand ssh bastion -W %h:%p

Host *
    Port 22
    User ec2-user
    IdentityFile ~/.ssh/test.pem

同じ設定はまとめたほうが楽なのでまとめているが、まとめずにちゃんと全部記載するなら参考のページを参照。

これでssh develop-target1のようにコマンドをたたけば接続できる。

参考