SSHを使用してEC2インスタンスに接続すると作業タイムアウトエラーが発生する

SSHを使用してEC2インスタンスに接続すると作業タイムアウトエラーが発生する

新しいインスタンスを作成したら、次のようにインスタンスにアクセスしようとします。

ssh -i private_key.pem root@my_instance_public_domain

しかし、作業がタイムアウトしました。以下を使用して秘密鍵ファイルの権限を更新しました。

chmod 400

また、新しいバインディングルールを追加し、SSH と送信元 IP を 1.12.34.0/32 に選択してデフォルトのセキュリティグループを編集します。

しかしport 22: Operation timed out、。

何か抜けました。

答え1

EC2インスタンスのSSH問題を解決しましたか?

また、最初のEC2インスタンスを設定したときにSSHログインに問題がありました。

SSHログインの問題を解決した方法は次のとおりです。

  • インスタンスのセキュリティグループを使用して、最初にインバウンドSSHルールの送信元IPを0.0.0.0/0に設定し、この設定で有効な接続を取得できることを確認します。 SSH接続が機能したら、ソースIPをログインしているコンピュータのIP範囲に変更してアクセスを向上させることができます。マシンに非静的パブリックIPがある場合は、SSHルールの送信元IP設定を変更する必要があることがよくあります。

  • 私の経験によれば、ヘルスチェックが完了するのを待たずに新しいインスタンスにSSHを介して接続しようとすると、SSHタイムアウトが発生することがわかりました。新しく作成されたインスタンスの場合は特にそうです。 AWS コンソールでは、各インスタンスには「ステータス」と「ステータスの確認」列が必要です。インスタンスのステータス項目が「実行中」(隣に緑色の丸がある)、「ステータス確認」項目が「2/2確認パス」(緑色の丸と白のチェックマークがある)であることを確認します。時には時間がかかることがあるので、おやつを食べてもう一度ログインしてみてください。

  • SSHの詳細情報を有効にすると、SSHの問題をデバッグするのにも役立つことがわかりました。詳細情報を有効にするには、次のコマンドを試してください。

    ssh -vvv -i private_key.pem root@my_instance_public_domain

  • インスタンスのパブリックFQDNをpingすることも役に立ちますが、インスタンスのセキュリティグループルールがICMPトラフィックを許可するように設定されていることを確認してください。

  • インスタンス公開 FQDN のポート 22 で Telnet を試すことも、トラブルシューティングに役立ちます。例えば

    Telnet my_instance_public_domain 22

答え2

デフォルト以外のVPCを使用する場合、それからあなたも

VPC(0.0.0.0/0)の外部に向かうすべてのトラフィックをVPCのインターネットゲートウェイに送信するためのパスが必要です。

答え3

私も同じ問題に直面していましたが、Amazonで非常に便利なトラブルシューティングガイドを提供しています。https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html

私の問題は、同じVPCで使用するためにいくつかのサブネットを作成しましたが、ルーティングテーブルを介してサブネットをVPCに接続し、各ルーティングテーブルにインターネットゲートウェイを追加する必要があるという事実を知らないことです。

関連情報