39

新しいAmazonEC2サーバーを作成するときは、ssh通常どおりに接続します。

典型的な警告が表示されます。

$ ssh myserver  
The authenticity of host 'ec2-12-34-567-890.compute-1.amazonaws.com (12.34.567.890)'     can't be established.
ECDSA key fingerprint is 31:66:15:d2:19:41:2b:09:8a:8f:9f:bd:de:c6:ff:07.
Are you sure you want to continue connecting (yes/no)? 

サインインする前に指紋を確認するにはどうすればよいですか?

理想的には、答えは元の作成コンソールログ以外のものに基づいています-システムの再起動後、または大量の出力を生成する大規模なシステムインストールスクリプト中にログがフラッシュされる可能性があるため、または接続が古いシステムへの接続であるため作成時に追跡されなかったキー。

4

2 に答える 2

33

@joelparkerhendersonの回答がカバーしているように、ホストキーが(cloud-initスクリプトによって)生成されるときに、サーバーの初期開始ログからホストキーのフィンガープリントを収集できます。

ここに画像の説明を入力してください


この方法でキーを収集できない場合は、プライベートAmazonネットワーク内の別の信頼できるインスタンスからターゲットインスタンスに接続することでキーを取得できるため、中間者攻撃から身を守ることができます。

信頼できるインスタンス(指紋を知っているインスタンス)端末では、次のコマンドを使用して指紋(172.33.31.199プライベートIP)を収集できます。

$ ssh-keyscan 172.33.31.199 > ec2key
$ ssh-keygen -l -f ec2key
256 SHA256:oZHeiMEPLKetRgd3M5Itgwaqr2zJJH93EvSdx5UoHbQ <ip> (ED25519)
2048 SHA256:8zg105EUFFrPFpVzdfTGsgXnxuSpTiQd85k0uNapUio <ip> (RSA)
256 SHA256:L7UXLw0djE5B9W7ZhvrkYVSTZyi1MEQ2dBaRtpkkUGY <ip> (ECDSA)

フィンガープリントがわかっている別のインスタンスがない場合は、キーを収集するためだけに、新しい一時インスタンスを作成します。最初に、最初の開始ログを使用して、新しい一時インスタンスのキーを見つけます。パブリックネットワークから一時インスタンスに接続します。次に、プライベートAmazonネットワークを介して、一時インスタンスからターゲットインスタンスに接続することにより、ターゲットインスタンスのキーを収集します。その後、一時インスタンスを破棄できます。


WinSCPを使用してEC2インスタンスに安全に接続するためのガイドを用意しました。

于 2014-07-16T06:47:32.737 に答える
25

EC2システムの作成中に私のために働いた2つのソリューションがあります。

解決策1:AmazonEC2ダッシュボードを使用する

  • https://console.aws.amazon.comにアクセスします
  • 「EC2」リンクをタップします。
  • 左の列の「インスタンス」をタップします
  • 必要なインスタンス名をタップします
  • 選択ボタン「アクション」をタップし、「システムログの取得」(別名「コンソール出力」)を選択します。
  • コンソール出力で、生成されているキーが表示されます。

解決策2:AWSEC2コマンドラインを使用する

awsコマンドまたはコマンドを使用できますec2-get-console-output。どちらもAmazonからダウンロードできます。

EC2秘密鍵pemファイル、証明書pemファイル、リージョン、インスタンスを使用するには:

ec2-get-console-output \
  --private-key pk-ABCDEF1234567890.pem \
  --cert cert-ABCDEF1234567890.pem \
  --region us-east-1c \
  i-e706689a   

出力には、次のようなsshホストキーのフィンガープリントが表示されます。

ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
ec2: 1024 e0:79:1e:ba:2e:3c:71:87:2c:f5:62:2b:0d:1b:6d:7b  root@ip-10-243-118-182 (DSA)
ec2: 256 31:66:15:d2:19:41:2b:09:8a:8f:9f:bd:de:c6:ff:07  root@ip-10-243-118-182 (ECDSA)
ec2: 2048 ce:ec:3b:d3:34:3f:f3:45:76:81:9e:76:7a:d9:f5:e8  root@ip-10-243-118-182 (RSA)
ec2: -----END SSH HOST KEY FINGERPRINTS-----

awsツールも同様に機能します。

注:これらのソリューションは、作成時、またはコンソールログを取得できる場合にのみ機能します。いつでも機能するより広範なソリューションについては、Martinの回答を参照してください。

于 2012-12-09T21:31:45.887 に答える