AWSに2つのEC2インスタンスを作成しました。それぞれにキーペアを作成しました。 .pem秘密キーをダウンロードして、.ppk
形式に変換しました。 PuTTYとその.ppk秘密鍵を使用して、各ec2インスタンスに接続できます。しかし、ec2インスタンスの1つから別のインスタンスにSSHで接続するにはどうすればよいですか?どちらか一方のパブリックDNSをもう一方からpingできます。しかし、sshを1つからもう1つにしようとすると、次のようになります。
権限が拒否されました(公開鍵)。
方法1-サーバーで同じキーを使用します:
キーをopenssh形式に変換 して、秘密キーをサーバーにアップロードします。宛先ホストにsshするときに、秘密鍵ファイルを指定します。
ssh -i mykey.pem private.ip.of.other.server
方法2-新しいキーを作成する
各サーバーで実行:
ssh-keygen
Enter Enter Enterを押します。次の2つのファイルがあります。
.ssh/id_rsa
.ssh/id_rsa.pub
サーバーAで、公開鍵を猫でクリップボードにコピーします。
cat ~/.ssh/id_rsa.pub
[select and copy to your clipboard]
Server Bにsshし、その内容をauthorized_keysファイルに追加します。
cat >> ~/.ssh/authorized_keys
[paste your clipboard contents]
[ctrl+d to exit]
サーバーAからsshを実行します。
ssh -i ~/.ssh/id_rsa private.ip.of.other.server
いわゆるsshエージェントフォワーディングと呼ばれる3番目でIMHOが最良のソリューションです。
Host <ip-or-name-of-A-server> ForwardAgent yes
サーバーAで作業している間、キーはさらにssh通信で使用できます-例:
これが機能するかどうかを確認するには:
set|grep SSH_AUTH_ # output should be something like this: SSH_AUTH_SOCK=/tmp/ssh-sEHiRF4hls/agent.12042
ノート:
ps -e | grep [s]sh-agent
、Windowsの場合は、PuTTYのユーティリティのpagentおよびplinkを確認してください問題の新しいAWSソリューション。
これは同じブログ記事です:
ご注意ください:
SSH公開鍵は、インスタンスメタデータで60秒間1回のみ使用できます。インスタンスに正常に接続するには、この時間内にSSHを使用して接続する必要があります。キーの有効期限が切れているため、以前のようにこれらのキーを直接追跡または管理する必要はありません。