こんにちは!Takuya.B(@TB_IQ)です。
パブリックサブネットに設置したEC2インスタンス(踏み台サーバー)からプライベートサブネット内のEC2インスタンス(WEBサーバー)にSSH接続する方法をご紹介します。
スポンサーリンク
踏み台サーバー経由でSSH接続する方法
まず前提として、踏み台サーバーとWEBサーバーのIPアドレスは以下と仮定します。
- 踏み台サーバーのパブリックIP:
xxx.xxx.xxx.xxx
- WEBサーバーのローカルIP:
yyy.yyy.yyy.yyy
通常、WEBサーバーにSSH接続する際は以下コマンドを入力します。
ssh username@yyy.yyy.yyy.yyy
踏み台サーバー経由でWEBサーバーにアクセスするにはProxyCommandオプションを使用します。
ProxyCommandオプションを使用する場合、コマンドは以下のようになります。
ssh -o ProxyCommand='ssh username@xxx.xxx.xxx.xxx -W yyy.yyy.yyy.yyy:22' username@yyy.yyyy.yyy.yyy
AWS EC2インスタンスを使用する場合
AWS EC2インスタンスではキーペア情報を用いてSSH接続すると思います。
この場合のSSH接続するためのコマンドは以下のようになります。キーペア情報は sample.pem
、ユーザー名は ec2-user
と仮定します。
ssh -o ProxyCommand='ssh -i sample.pem ec2-user@xxx.xxx.xxx.xxx -W yyy.yyy.yyy.yyy:22' -i sample.pem ec2-user@yyy.yyy.yyy.yyy
こうすることでパブリックサブネット内のEC2インスタンス経由でプライベートサブネットのEC2インスタンスにSSH接続することが可能になります。
スポンサーリンク
あとがき
セキュリティの関係などで踏み台サーバー経由でしかSSH接続を受け付けない場合というのはあります。
私も頻繁に使用するわけではありませんが、いざというときのために覚えておくようにしましょう。
というわけで、次回もよしなに!