SSH を使用した Amazon EC2 Linux インスタンスへの接続に関する問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 4 月 27 日

Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに接続できません。この問題をトラブルシューティングして解決するにはどうすればよいですか?

簡単な説明

この問題をトラブルシューティングするには、詳細なメッセージングをオンにして SSH 経由で EC2 インスタンスにログインします。SSH クライアントからの出力メッセージを使用して、問題のタイプを特定します。その後、トラブルシューティングの手順に従って問題を解決します。

解決方法

問題を特定する

1.    詳細なメッセージングをオンにして SSH 経由で EC2 インスタンスにログインします。

user@localhost:~$ ssh -v -i my_key.pem ec2-user@11.22.33.44

上記の例では、プライベートキーファイルに my_key.pem を使用し、ユーザー名に ec2-user@11.22.33.44 を使用しています。例にあるキーファイルとユーザー名を、ご自身のキーファイルとユーザー名に置き換えます。詳細については、SSH を使用した Linux インスタンスへの接続をご参照ください。

2.    SSH クライアントからの出力メッセージを使用して、問題のタイプを特定します。

問題をトラブルシューティングする

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

シリアルコンソールを使用する前に、アカウントレベルでコンソールにアクセス権を付与します。その後、IAM ユーザーにアクセス権を付与する AWS Identity and Access Management (IAM) ポリシーを作成します。また、シリアルコンソールを使用するすべてのインスタンスには、パスワードベースのユーザーを 1 つ以上含める必要があります。インスタンスが到達不能で、シリアルコンソールへのアクセスを設定していない場合は、次の記事のリンクに記載されている、インスタンスへの手動接続の手順に従うことができます。

Linux 用の EC2 シリアルコンソールの設定の詳細については、「EC2 シリアルコンソールへのアクセスを設定する」を参照してください。

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

エラー: 「Connection timed out」(接続がタイムアウトしました) または「Connection refused」(接続が拒否されました): このエラーの解決については、「EC2 インスタンスに SSH で接続しようとすると、「接続が拒否されました」または「接続がタイムアウトしました」というエラーが表示されます。これを解決するにはどうすればよいですか?」を参照してください。

仮想プライベートクラウド (VPC) で「connection timed out」(接続がタイムアウトしました) エラーの解決については、「How do I troubleshoot Amazon EC2 instance connection timeout errors from the internet?」(インターネットからの Amazon EC2 インスタンス接続タイムアウトエラーをトラブルシューティングするにはどうすればよいですか?) を参照してください。

エラー: 「Permission denied」(許可が拒否されました) または「Authentication failed」(認証に失敗しました): このエラーの解決については、「EC2 インスタンスにアクセスしようとすると、「Permission denied (publickey)」または「Authentication failed, permission denied」というエラーが表示されます。解決方法を教えてくださいをご参照ください。

エラー: 「Server refused our key」(サーバーはキーを拒否しました): このエラーの解決の詳細については、「SSH を使用して EC2 インスタンスに接続しようとすると、「サーバーはキーを拒否しました」というエラーが表示されるのはなぜですか?」を参照してください。

エラー: 「imported-openssh-key」または「Putty Fatal Error」: これらのエラーの解決の詳細については、「Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに接続する際に、「imported-openssh-key」または「Putty Fatal Error」エラーが表示されるのはなぜですか?」を参照してください。

エラー: 「キー『my_key.pem』のパスフレーズを入力してください」:

このエラーは、キーファイルのパスワードを作成したが、パスワードを手動で入力していない場合に発生します。このエラーを修正するには、パスワードを入力するか、ssh-agent を使用してキーを自動的にロードします。

SSH エラーを自動的にトラブルシューティングする

リソースが一時的に利用できません」など、一部の SSH エラーは、さまざまな問題によって発生する可能性があります。これらの種類のエラーを解決するか、特定のエラーメッセージが表示されない場合は、AWSSupport-TroubleshootSSH Automation ドキュメントを実行して、問題を自動的に見つけて修正します。詳細については、「SSH を使用して EC2 インスタンスに接続しようとすると、エラーが発生します。AWSSupport-TroubleshootSSH Automation ワークフローを使用して SSH 接続の問題をトラブルシューティングするにはどうすればよいですか? をご参照ください。