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 の最新バージョンを使用していることを確認してください

エラー: 「接続がタイムアウトしました」または「接続が拒否されました」: このエラーを解決するには、EC2 インスタンスに SSH で接続しようとすると、「接続が拒否されました」または「接続がタイムアウトしました」というエラーが表示されます。解決方法を教えてくださいをご参照ください。

仮想プライベートクラウド (VPC) で「接続がタイムアウトしました」エラーを解決する方法については、Amazon VPC のインスタンスへの接続タイムアウトエラーをトラブルシューティングする方法を教えてくださいをご参照ください。

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

エラー: 「サーバーはキーを拒否しました」: このエラーの解決の詳細については、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 ドキュメントを実行して、問題を自動的に見つけて修正します。詳細については、AWSSupport-TroubleshootSSH オートメーションのワークフローを使用して、SSH 接続の問題をトラブルシューティングする方法を教えてくださいをご参照ください。