Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに接続する際に、「imported-openssh-key」または「Putty Fatal Error」エラーが表示されるのはなぜですか?

最終更新日: 2021 年 5 月 12 日

Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに接続すると、「imported-openssh-key」または「Putty Fatal Error」というエラーが表示されます。これらのエラーを解決する方法を教えてください。

簡単な説明

SSHを使用してLinuxインスタンスに接続すると、次のようなエラーが表示されます。

「Using username "root".Authentication with public key "imported-openssh-key" Please login as the user "ec2-user" rather than the user "root".」

- または -

PuTTY クライアントを使用すると、次のようなエラーが表示されます。

「PuTTY Fatal Error: Disconnected: No supported authentication methods available (server sent: publickey) OK」

これらのエラーは、次の状況で発生する可能性があります。

  • EC2 インスタンスと SSH セッションをネゴシエートするときに、AMI の適切なユーザー名を使用して接続していない。
  • EC2 インスタンスと SSH セッションをネゴシエートするときに、間違ったプライベートキーを使用している。

解決方法

正しいユーザー名で接続していることを確認する

ローカルマシンで、適切なユーザー名で接続していることを確認します。適切なユーザー名の詳細なリストについては、インスタンスへの接続に関するトラブルシューティングを参照してください。

秘密キーが正しいことを確認する

1.    Amazon EC2 コンソールを開き、[インスタンス] をクリックします。

2.    SSH を使って接続する EC2 インスタンスを見つけます。

3.    [Key Name] (キー名) 列で、SSH 経由の接続に使用する秘密キーの名前を確認します。

PuTTY

SSH 秘密キーが、コンソールの EC2 インスタンスの [Key Name] (キー名) 列に表示される秘密キーと一致することを確認します。

秘密キー (.pem) ファイルが PuTTY (.ppk) で認識される形式に変換されていることを確認します。詳細については、PuTTYgen を使用してプライベートキーを変換するを参照してください。

macOS または Linux

キーペアファイルのアクセス許可を変更したことを確認するには、次のコマンドを実行して、自分だけがそれを表示できるようにします。

$ chmod 400 my-key-pair.pem

次のコマンドの例に示すように、-i フラグの後に指定したディレクトリとファイル名を確認し、秘密キーへの正しいパスであることを確認します。

$ ssh -i my-key-pair.pem ec2-user@52.4.XX.XX

EC2 シリアルコンソールを使用する

Linux 用の EC2 シリアルコンソールを有効にしている場合は、それを使用して、サポートされている Nitro ベースのインスタンスタイプのトラブルシューティングを行うことができます。シリアルコンソールは、起動の問題、ネットワーク設定、および SSH 設定の問題のトラブルシューティングに役立ちます。シリアルコンソールは、正常に動作するネットワーク接続を必要とすることなく、インスタンスに接続します。シリアルコンソールには、Amazon EC2 コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用してアクセスできます。

シリアルコンソールを使用する前に、アカウントレベルでコンソールにアクセス権を付与します。その後、IAM ユーザーにアクセス権を付与する AWS Identity and Access Management (IAM) ポリシーを作成します。また、シリアルコンソールを使用するすべてのインスタンスには、少なくとも 1 名のパスワードベースユーザーを含める必要があります。インスタンスが到達不能で、シリアルコンソールへのアクセスを設定していない場合は、方法 2、3、または 4 の手順に従います。Linux 用の EC2 シリアルコンソールの設定の詳細については、EC2 シリアルコンソールへのアクセスを設定するを参照してください。

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください