21

独自の EBS AMI を作成し、それを別の AWS アカウントと共有し、このイメージに基づいて新しいキーペアを使用して新しいインスタンスを起動しました。この新しいインスタンスに接続しようとすると、「サーバーがキーを拒否しました」というエラーが表示されます。 .

これは私がやったことです(ステップバイステップ):

  1. 個人アカウントで新しいCentOS 6.3サーバーを構成しました(個人キーペアを使用)
  2. そのサーバーの EBS AMI イメージを作成しました
  3. この画像をクライアントのアカウントと共有しました
  4. この共有イメージ + 新しい鍵ペアに基づいて、クライアント アカウントで新しいインスタンスを起動しました
  5. 新しく起動されたインスタンスは、新しいキー ペアを取得したくありません。いくつかのテストの後、代わりに私の個人的な鍵ペアを受け入れることがわかりました。

イメージから新しいインスタンスを作成して、新しい鍵ペアを受け入れるにはどうすればよいですか? 元のイメージの「.ssh/authorized_keys」ファイルを削除しようとしましたが、公開鍵なしでこのイメージに基づいて新しいインスタンスを起動しましたが、まだ成功していません。

古い鍵ペアに添付されないイメージを作成する方法を教えてください

4

10 に答える 10

40

そのエラーメッセージで同様の問題が発生しましたが、これを修正する方法を次に示します。これがあなた、または立ち往生してここで道を見つけた他の誰かに役立つことを願っています:

  1. AWS コンソールで、インスタンスが正常で実行中であることを確認します
  2. インスタンスをクリックすると表示される、正しいパブリック DNS アドレスを使用していることを確認します
  3. 左側から [Security Groups] を選択し、使用するセキュリティ グループをクリックします。
  4. [インバウンド] タブをクリックします。
  5. [Create a new rule:] ダイアログから [SSH] を選択します。
  6. source に IP アドレスと CIDR 値を入力します。ネットワークにNATがないだけの場合は、CIDRとして32を使用してください(例:?.?.?.?/32)
  7. [ルールを追加] をクリックします
  8. [ルールの変更を適用] をクリックします
  9. インスタンスを右クリックし、Create Image (EBS AMI) を選択します。
  10. イメージの作成ウィザードでイメージ名を付けて、[作成] をクリックします。
  11. しばらくしてから、AWS コンソールの左側のナビゲーション バーから AMI を選択します。
  12. 新しい AMI を右クリックし、[Launch Instance] をクリックします。
  13. インスタンスのリクエスト ウィザードで、キー ペアの作成が必要になるまで [続行] をクリックします。
  14. キー ペアを選択してメモします (注: このキー ペアの .pem ファイルをまだ取得していない場合は、左側のナビゲーション バーで [キー ペア] を選択し、[キー ペアを作成] などから新しいファイルを生成する必要があります。 .pem ファイルを取得します)
  15. IP アドレス用に作成したルール (および 32 の CIDR - サブネット マスクなし) でセキュリティ グループを選択します。
  16. [続行] をクリックし、次の画面で [起動] をクリックします。
  17. [インスタンス] ビューに戻り、インスタンスが完全に初期化されて正常になるまで待ちます
  18. PuttyGEN を開く
  19. ツールバーから [コンバージョン] をクリックし、[キーをインポート] をクリックします。
  20. ファイル ブラウザで .pem キーに移動して開きます。
  21. [パラメーター] ボックスから [SSH-1 (RSA)] を選択します。
  22. キーのコメント ボックスにキー ペアの名前を入力します (整理整頓のため)。
  23. [秘密鍵を保存] をクリックし、.ppk ファイルをファイル システムのどこかに保存します。
  24. パテを開く
  25. [ホスト名] ボックスに EC2 インスタンスのパブリック DNS を入力します
  26. ポート 22 に入る
  27. [接続タイプ] ボックスの [SSH] ラジオ ボタンにチェックを入れます
  28. 左側のナビゲーション バーの [接続] ツリーから [SSH] をクリックします。
  29. 認証をクリック
  30. [認証パラメーター] ボックスで [参照] をクリックし、.ppk ファイルを開きます。
  31. 左側のナビゲーション バーから [セッション] をクリックします。
  32. この接続の名前を [保存されたセッション] テキスト ボックスに入力し、[保存] をクリックします (これにより、毎回パテ接続をセットアップする必要がなくなり、保存された接続をダブルクリックするだけで済みます - 知らない人のために説明します)。
  33. [開く] をクリックします。
  34. ログイン名の入力を求めるプロンプトが表示されたら、おそらく「ec2-user」または「ubuntu」を使用します (ヒント: 「root」を使用すると、代わりにどのユーザー名を使用すべきかを知らせるメッセージが表示されます!)
  35. パスワードは必要ありません。.ppk ファイルで認証されます。
  36. うまくいけば、EC-2 インスタンスに接続され、準備が整いました!
于 2013-01-08T16:40:40.780 に答える
14

新しい SUSE インスタンスでこの問題が発生しました。ようやくユーザー「root」を使用して接続できました。ec2-user を拒否し続けました。

于 2014-01-09T17:17:01.990 に答える
12

これは、ec2 インスタンスへのログインに正しいユーザー名を使用していないことを意味します。ec2 インスタンスに接続するために putty で使用できるユーザーのリストは次のとおりです。Amazon Linux AMI の場合、ユーザー名はec2-userです。RHEL5 AMI の場合、ユーザー名は root またはec2-userです。Ubuntu AMI の場合、ユーザー名はubuntuです。Fedora AMI の場合、ユーザー名はfedoraまたはec2-userです。SUSE Linux の場合、ユーザー名はrootまたはec2-userです。それ以外の場合、ec2-user と root が機能しない場合は、AMI プロバイダーに確認してください。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectingPuTTY

于 2016-03-07T19:28:01.547 に答える
3

AMI は公式のパブリック AMI ではなくコミュニティ AMI から作成されているため、インスタンスの起動時に ssh キーをコピーするように設定されていないか、別のメカニズムを使用してコピーしている可能性があります。

私の理解では、起動時に ssh キーをコピーするには、ここで簡単に説明されているように、インスタンス自体の内部でシェル スクリプトを実行する必要があります。

AMIの説明ページには、「cloud-init が有効になっている」と記載されているため、CloudInit を介してそれを行う方法があるかもしれません。こちらのドキュメントを参照してください。

于 2012-07-23T17:51:32.797 に答える
0

Server Refused our keyを表示する理由の 1 つにすぎない可能性があります。

つまり、サーバーのキーペアユーザー名の組み合わせが正しくありません。何度も直面しました。

于 2016-10-24T09:03:30.950 に答える
0

AWS ubuntu machin の ubuntu としてユーザーを選択することで問題を解決しました。そのため、正しいユーザー アカウントとマシン タイプを確認してください。

以下のリンクを参照してください: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/putty.html

于 2019-08-16T11:46:48.613 に答える