SSH を使用して Amazon EC2 Linux インスタンスに接続できないのはなぜですか?

最終更新日: 2022 年 6 月 15 日

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 ベースのインスタンスタイプのトラブルシューティングを行う

Linux 用の EC2 シリアルコンソールを有効にした場合は、それを使用してサポートされている Nitro ベースのインスタンスタイプのトラブルシューティングを行うことができます。シリアルコンソールには、シリアルコンソールまたは AWS コマンドラインインターフェイス (AWS CLI) を使用してアクセスできます。EC2 シリアルコンソールを使用する場合、インスタンスに接続するための有効な接続は必要ありません。

シリアルコンソールを使用してトラブルシューティングを行う前に、以下を実行してください。

  • アカウントレベルでシリアルコンソールへのアクセス権を付与する
  • IAM ユーザーにアクセス権を付与する AWS Identity and Access Management (IAM) ポリシーを作成します。
  • インスタンスにパスワードベースのユーザーが少なくとも 1 人含まれていることを確認する
  • AWS CLI を使用して EC2 Instance Connect に接続する場合は、最新バージョンの AWS CLI を使用していることを確認してください

一般的なエラーのトラブルシューティング

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

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

エラー:「アクセスが拒否されました」または「認証に失敗しました」: このエラーを解決するには、EC2 インスタンスにアクセスしようとしたときに「アクセスが拒否されました (パブリックキー)」または「認証に失敗しました、アクセスが拒否されました」というエラーが表示されます。これを解決するにはどうすればよいですか?」を参照してください。

エラー:「サーバーがキーを拒否しました」: このエラーを解決するには、「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 自動化ドキュメントを実行して、このようなエラーを自動的に見つけて解決します。