スキップしてコンテンツを表示

SSH での Amazon EC2 Linux インスタンスへの接続に関する問題を解決する方法を教えてください。

所要時間2分
0

SSH を使用して Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスに接続できないため、問題を解決したいです。

簡単な説明

Permission deniedConnection refused、または Resource temporarily unavailable というエラーメッセージが表示される場合、Amazon EC2 インスタンスへの接続に問題がある可能性があります。

SSH 接続の問題を解決するには、次のいずれかの方法を使用します。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

次の情報が必要です。

  • インスタンスに関連付けられている正しいプライベートキー (.pem ファイル)
  • Linux ディストリビューション用の正しいユーザー名
  • インスタンスの IP アドレスまたは DNS 名
  • インスタンスへのネットワーク接続

AWSSupport-TroubleshootSSH ランブックを実行する

AWSSupport-TroubleshootSSH オートメーションを使用すると、SSH インスタンス接続の問題を特定して自動的に解決できます。

前提条件

  • トラブルシューティングする Amazon EC2 インスタンスのインスタンス ID をコピーします。
  • ランブックがインストールする EC2Rescue for Linux ツールの前提条件を満たす必要があります。

AWSSupport-TroubleshootSSH オートメーションの実行には、AWS CLI を使用できます。

または、Systems Manager コンソールを使用して次の設定を行います。

  • [オートメーションドキュメント]AWSSupport-TroubleshootSSH を選択します。
  • [ドキュメントの詳細][ランブックのバージョン][実行時のデフォルトバージョン] を選択します。
  • [入力パラメータ]InstanceID に到達できないインスタンスを入力し、[アクション] には FixAll を指定します。

AWSSupport-TroubleshootSSH オートメーションの詳細については、「AWS Systems Manager Automation API アクションを使用して RDP と SSH のスマート修復を行う」を参照してください。

詳細メッセージングが有効な SSH を使用する

次の手順を実行します。

  1. 詳細メッセージングオプションが有効な SSH を使用して Linux インスタンスに接続します。
    user@localhost:~$ ssh -vvv -i my_key.pem ec2-user@11.22.33.44
    注: 実際のものでそれぞれ、my_key.pem をプライベートキーファイルに、ec2-user@11.22.33.44 をユーザー名に置き換えます。詳細については、「SSH クライアントを使用して Linux インスタンスに接続する」を参照してください。
  2. 問題の原因を判断するには、SSH クライアントの出力でエラーメッセージを確認してください。
  3. エラーメッセージを特定した後、「SSH エラーを解決する」セクションを参照して問題を解決してください。

詳細メッセージングや他の種類のエラーメッセージの解決に関する詳細については、「Amazon EC2 Linux インスタンスへの接続での、SSH 接続に関する問題の解決方法を教えてください」を参照してください。

Amazon EC2 シリアルコンソールを使用して Nitro ベースのインスタンスとベアメタルインスタンスに接続する

インスタンスで SSH の問題を直接トラブルシューティングする場合は、Nitro ベースのインスタンスとベアメタルインスタンス用の EC2 シリアルコンソールを使用します。

注: EC2 シリアルコンソールを初めて使用する場合は、インスタンスに接続する前に前提条件を確認し、アクセスを設定してください。

インスタンスに接続した後に黒い画面が表示される場合は、次のタスクを実行してください。

Session Manager を使用する

Session Manager を使用すると Amazon EC2 コンソールのインスタンスに接続できます。接続後は、他の接続方法と同じ方法で、インスタンスに対し bash コマンドを実行できます。

SSH エラーを解決する

「Connection timed out」または「Connection refused」

Connection timed out エラーは、サーバーがクライアントのリクエストに応答できない場合に発生します。Connection refused エラーは、インスタンスがホストに到達したものの、SSH ポートでリッスンしているサービスがないことが要因で、接続を自発的に拒否した場合に発生します。これらの問題を解決する方法については、「SSH を使用して EC2 インスタンスに接続する際、Connection refused または Connection timed out エラーが発生する場合のトラブルシューティング方法を教えてください」を参照してください。

仮想プライベートクラウド (VPC) で Connection timed out エラーが発生した場合は、ネットワーク設定に問題がある可能性があります。セキュリティ設定、ネットワークアクセスコントロールリスト (ネットワーク ACL)、VPC ルートテーブル、またはローカルファイアウォールに設定ミスがある場合、この問題が発生する可能性があります。このエラーの解決方法については、「インターネットから返される、Amazon EC2 インスタンスの接続タイムアウトエラーを解決する方法を教えてください」を参照してください。

「Permission denied」または「Authentication failed」

Permission denied または Authentication failed エラーは、SSH 経由の認証でインスタンスにアクセスできない場合に発生します。キーまたはアクセス許可の設定に問題がある場合、この問題が発生する可能性があります。この問題の解決方法については、「EC2 インスタンスへのアクセス時に発生する、Permission denied (publickey) または Authentication failed, permission denied というエラーを解決する方法を教えてください」を参照してください。

「Server refused our key」

Server refused our key というエラーは、SSH 経由でインスタンスに接続しようとした際に使用したプライベートキー、ユーザー名、またはアクセス許可が誤っている場合に発生します。SSH サーバーの設定ミスがある場合も、この問題が発生する可能性があります。これらの問題の解決方法については、「SSH 経由で EC2 インスタンスに接続しようとすると、Server refused our key というエラーメッセージが発生する理由を知りたいです」を参照してください。

「imported-openssh-key」または「Putty Fatal Error」

imported-openssh-key または Putty Fatal Error というエラーは、SSH 経由での EC2 Linux インスタンスへの接続に使用したユーザー名が誤っている場合に発生します。または、SSH セッションネゴシエーションで使用したプライベートキーが誤っています。これらの問題を解決する方法については、「Amazon EC2 Linux インスタンスへの接続時に、"imported-openssh-key" または "PuTTY Fatal Error" が発生する理由を知りたいです」を参照してください。

「Enter passphrase for key 'my_key.pem'」

キーファイルのパスワードを作成時に、パスワードを手動で入力しなかった場合、Enter passphrase for key 'my_key.pem' エラーが発生します。この問題を解決するには、パスワードを手動で入力します。または、ssh-agent を使用してキーを自動的にロードします。

関連情報

EC2 Connect を使用して EC2 インスタンスに接続する際の問題をトラブルシューティングする方法を教えてください

AWS Wavelength Zone で起動した EC2 インスタンスへの SSH 接続または RDP 接続をトラブルシューティングする方法を教えてください

Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング

コメントはありません

関連するコンテンツ