❔
MacのターミナルからSSH (Secure Shell) を使用してプライベートサブネットにあるEC2インスタンスに接続する
先日は、パブリックインスタンスへの接続方法を投稿しましたが、その続きで、プライベートインスタンスへの接続についても記載します。
プライベートインスタンスは、インターネットからのアクセスを許可していないため直接接続することはできない。
そのため、通常は「踏み台サーバー」と呼ばれる、別のEC2インスタンスを経由して接続する。
今回はパブリックインスタンスに接続しておき、そこからプライベートインスタンスに接続しました。
プライベートインスタンスへの接続方法
まず、SSH接続で使う秘密鍵のファイルを作成しておく
"Ctrl + d"でSSHセッションを終了し、秘密鍵の中身を確認
私のMacでは.pemファイルを開こうとすると「この項目は取り込めません」とのエラーが💦
そのため、以下のコマンドを実行してターミナルで確認しました。
cat /path/to/your-key-pair.pem
中身を確認後、再びSSH接続
ssh -i /path/to/your-key-pair.pem ec2-user@your-instance-public-ip
再度SSH接続ができたら、
nano test.pem
"test" の箇所は任意のファイル名を入力
上記で.pemファイルの中身を保存する(ファイルの中にKEYをコピペ)
続いて、このファイルも「所有者のみが読み取り可能」な状態に変更
chmod 400 test.pem
ここまで完了してから、 プライベートインスタンスへの接続を行う。
ssh ec2-user@your-instance-private-ip -i test.pem
今回は、"your-instance-private-ip" でプライベートIPアドレスを入力
"-i test.pem" で作成したファイルの秘密鍵を使用
Are you sure you want to continue connecting (yes/no/[fingerprint])?
再び上記が問われるため、yesと入力
エラーが出なければ、これで接続が完了します。
Geminiに聞くと、"nano test.pem" でファイルを作成する方法は推奨されないと出てきてしまいました。。
そのため、他の方法についても調べてみようと思います💦
もし他に良い方法をご存知な方いらっしゃいましたら、是非お知恵を貸していただきたいです!!
Discussion