EC2インスタンス間でSSHパスワードなしでログインする方法

こんにちは!beardです!

今回はAmazonLinuxのインスタンスから別のインスタンスへパスワードなしでSSHでrootでログインする方法を紹介します。
インスタンスが別のインスタンスに対して操作を行うことができます。

考え方としては、以下の図のようにローカルマシンのWindowsからEC2インスタンスへ接続し、さらに別のEC2インスタンスへログインすることになります。この操作は後々紹介するServerspecを使用する上で必要になってきます。

接続イメージ

まずSSHクライアント側のインスタンスでRSA鍵を作成して、出来上がった鍵を表示させます。
コマンドは以下の通りです。

ここで表示された「id_rsa.pub」のファイルの中身をコピーしてサーバ側のインスタンスに登録します。
サーバ側インスタンスで実行するコマンドは以下の通りです。

内容としては「/root/.ssh/authorized_keys」の最終行に上で作った「id_rsa.pub」の中身を追加します。
その後、「/etc/ssh/sshd_config」を編集し、パスワード無しでrootでのログインを許可します。最後にsshdの設定を読み直します。

この後クライアント側のインスタンスから接続できれば成功です。

いかがでしたか?

EC2の場合、セキュリティグループの設定でSSHのポート(22番)を許可することを忘れないでください。
次回もお楽しみに!!

この記事を書いた人

aws-recipe-user