目的
ローカルマシンから目的のEC2に内部IP指定でSSH接続したい。
コマンド(結論)
# ~/.ssh/config
Host fumidai
User ec2-user
HostName XXX.XXX.XXX.XXX # 踏み台サーバの外部IP
IdentityFile ~/.ssh/my_keypair.pem
Host instance1
User ec2-user
HostName 10.1.10.100 # SSH接続したいEC2の内部IP
IdentityFile ~/.ssh/my_keypair.pem
ProxyCommand ssh -CW %h:%p fumidai
# ローカルマシンからinstance1に接続する
ssh instance1
# ダメなときはまずこれが入れるかどうかを確認
ssh fumidai
背景
AWSを利用しているとき、すべてのインスタンスに外部IP(ElasticIP)を付与するのは現実的ではありません。
踏み台サーバとして1台のみを外部IPをもち、そこにSSH接続してから、目的の内部IPにアクセスするなどします。
コンソールから接続ボタンを押す方法でもよいのですが、CLI好きなひとはこうしたいはず。
動機
プロジェクトにはいるたび調べてるな?と思ったので作業メモです。