インスタンスにSSHで接続できません-操作がタイムアウトしました。理由は何ですか、それを解決するにはどうすればよいですか?通常、再起動は有効になるまでに長い時間がかかり、事態を悪化させる可能性があります
更新:許可に関するものではありません-通常は正常にログインできます。メモリの問題が原因の可能性があります
インスタンスに適切なセキュリティグループを設定しましたか?つまりネットワークからインスタンスのポート22へのアクセスを許可するもの。 (デフォルトでは、すべてのトラフィックは許可されていません。)
更新:OK、セキュリティグループの問題ではありません。しかし、同じAMIから別のインスタンスを起動してアクセスしようとすると、問題は解決しませんか?たぶん、この特定のEC2インスタンスは何らかの形でランダムに失敗しました。そのようなことが起こるのは時間の問題です。 (推奨読書: Architecting for the Cloud:Best Practices (PDF)、AmazonのWebサービスエバンジェリストであるJinesh Variaの論文。特に「失敗に備えて何も失敗しない」というタイトルのセクションを参照してください。 )
私も同じ問題を抱えていたため、解決策は、ローカルマシンのIPをアクティブなセキュリティグループの受信ルールのリストに追加することでした。以下の受信ダイアログで、ポート範囲に22、ソースフィールドに local IP /32を入力し、ドロップダウンに「カスタムtcpルール」を残します。
接続できるアベイラビリティゾーンと、接続できない別のゾーンがありました。数時間後、私はとてもイライラして、その可用性ゾーンのすべてを削除しました。
すべてを元に戻すには、すべてを作成する必要がありました。これに含まれるもの:
CIDR: 10.0.0.0/24
Destination: 0.0.0.0/0
Target: <Internet Gateway from earlier>
CIDR: 10.0.0.0/24
Routing Table: <Routing Table from earlier
これをすべて手に入れるのに手間がかかりました。最も効率的だと思われる方法でステップを注文しましたが、次のアイテムを利用できるように調整する必要があるかもしれません。
私がやったように熱核に行くことを提案しているのではありません。これらの関連性を確認して、適切なものであることを確認できるように、すべての情報を提供しています。
この答えは、(私のような)愚かな人々向けです。 EC2のパブリックDNSは、再起動すると変更される可能性があります。これに気づかずに古いパブリックDNSにSSHで接続しようとすると、接続が停止してタイムアウトになります。これにより、EC2またはセキュリティグループに何か問題があると思われる可能性があります。そして、~/.ssh/config
ファイルが必要な場合!
接続するには、次のようにsshを使用します。
ssh -i keyname.pem [email protected]
keyname.pem
はプライベートキーの名前、username
はosディストリビューションの正しいユーザー名、xxx.xx.xxx.xx
はパブリックIPアドレスです。
タイムアウトまたは失敗した場合は、次を確認してください。
tcp port 22およびすべてのipsまたは自分のipのインバウンドルールがあることを確認してください。インスタンスのオプションのec2メニューからセキュリティグループを見つけることができます。
Vpcの新しいサブネットの場合、.0.0.0/0 to internet gateway targetを指すルーティングテーブルに変更する必要があります。 vpcでサブネットを作成すると、デフォルトでデフォルトのルーティングテーブルが割り当てられますが、これはおそらくインターネットからの着信トラフィックを受け入れません。 vpcメニューでルーティングテーブルオプションを編集してから、サブネットを編集できます。
Vpcのインスタンスの場合、パブリックエラスティックIPアドレスを割り当てて、インスタンスに関連付ける必要があります。プライベートIPアドレスは外部からアクセスできません。 ec2メニュー(インスタンスメニューではない)でElastic IPを取得できます。
正しいユーザー名を使用していることを確認してください。 ec2-user
またはroot
またはubuntu
のいずれかでなければなりません。必要に応じてすべて試してください。
正しい秘密キー(インスタンスの起動時にダウンロードまたは選択したもの)を使用していることを確認してください。当たり前のように思えますが、コピーペーストで2回取得しました。
インスタンスからのコンソール出力を見ましたか?これは AWSコンソール (インスタンス->インスタンスを右クリック->システムログの取得)を使用して実行できます。 EC2インスタンスのネットワークサービスが正しく開始できず、SSH接続がタイムアウトすることがありました。通常、インスタンスを再起動すると問題が修正されました。
これを見つけた2時間後
Ssh ip 120.138.105.251/32
IS IPアドレスではありません
ローカルIPではありません127.0.0.1
ローカルIP localhost
ではありません
BUT BUT BUT
そのYourあなたのパーソナルコンピュータのパブリックIPアドレスAWSインスタンスにアクセスする
ルールを適用したら、Ec2インスタンスを再起動するだけです
考えられる問題は次のとおりです。
最も可能性が高いのは、ポート22でi.pにSSHアクセスを提供するようにセキュリティグループが適切に構成されていないことです。セキュリティ設定を変更しても、サーバーを有効にするためにサーバーを再起動する必要はありませんが、サーバーが適用されるまで数分待つ必要があります。
ローカルファイアウォール構成では、サーバーへのSSHアクセスが許可されていません。 (別のインターネット接続、電話/ドングルを試してみることができます)
サーバーが適切に起動されていません(その後、Amazonコンソールでもアクセスチェックが失敗します)。その場合、サーバーを停止して起動する必要があります。
インスタンスで作業していましたが、大丈夫でした。翌日、インスタンスにSSHで接続しようとしました-接続タイムアウト。
私はこの投稿を試してみましたが、何も機能しませんでした。だから私はやった-
Edit inbound rules
ソース列からMY IP
を選択すると、CIDR形式でパブリックIPアドレスが自動的に入力されます(XXX.XXX.XXX.XX/32
)。
ローカルIPを提供して@ ted.straussの回答を試しましたが、私の場合は役に立ちませんでした。それで、私は自分のIPを選択しましたが、うまくいきました。
これが誰かを助けることを願っています!
パスワードのないパブリックWifiを使用していたときに、同様の問題が発生しました。インターネット接続を安全な接続に切り替えることで問題は解決しました。
もう1つの可能性。 AWSセキュリティグループは、特定の着信IPアドレスでのみ動作するように設定されています。セキュリティグループがこのように設定されている場合、あなた(またはアカウント所有者)はセキュリティグループにIPアドレスを追加する必要があります。これを行うには、AWSダッシュボードを開き、セキュリティグループを選択し、セキュリティグループを選択して、[受信]タブをクリックします。次に、必要に応じてIPを追加します。
同じ問題があり、セキュリティグループにルールを追加することで解決しました
インバウンドSSH 0.0.0.0/0
または、IPアドレスのみを追加できます
AWSドキュメントのこのヘルプページをご覧ください。
http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html#TroubleshootingInstancesConnectionTimeout おそらくそこにソリューションがあります。私にとって、この部分は修正を行いました:
[EC2-VPC]サブネットのルートテーブルを確認します。 VPCの外部を宛先とするすべてのトラフィックをVPCのインターネットゲートウェイに送信するルートが必要です。
https://console.aws.Amazon.com/vpc/ でAmazon VPCコンソールを開きます。
ナビゲーションウィンドウで、[インターネットゲートウェイ]を選択します。 VPCにインターネットゲートウェイが接続されていることを確認します。それ以外の場合は、[インターネットゲートウェイの作成]を選択し、指示に従ってインターネットゲートウェイを作成し、インターネットゲートウェイを選択し、[VPCにアタッチ]を選択し、指示に従ってVPCにアタッチします。
ナビゲーションペインで[サブネット]を選択し、サブネットを選択します。
[ルートテーブル]タブで、宛先として0.0.0.0/0を持ち、ターゲットとしてVPCのインターネットゲートウェイを持つルートがあることを確認します。それ以外の場合は、ルートテーブルのID(rtb-xxxxxxxx)を選択してルートテーブルの[ルート]タブに移動し、[編集]、[別のルートを追加]を選択し、[宛先]に0.0.0.0/0を入力し、[ターゲット]からインターネットゲートウェイを選択してから、保存を選択します。
しかし、上記のリンクがカバーするすべてのオプションをチェックすることをお勧めします。あなたが見つけた1つ以上の問題があるかもしれません。
私の問題-「マイIP」用にポート22を開いて、インターネット接続とIPアドレスの変更を変更しました。そのため、元に戻す必要がありました。
VPCサブネットのインスタンスに対してインターネットからのsshアクセスを有効にするには、次の手順を実行します。
私にとっては、ブートボリュームからすべてを削除したということでした。そして、インスタンスに接続できなくなりました。
私も同じ問題を抱えていましたが、解決策はどこからでもアクティブなセキュリティグループ内の受信ルールのリストへのアクセスを許可することでした。インバウンドダイアログで、ポート範囲に22、ソースフィールドにanywhereと入力し、ドロップダウンで「ssh」を選択します。
追伸:これは、このインスタンスをどのマシンからでもsshできることを意味するため、推奨されるソリューションではないかもしれませんが、ローカルIPで動作させることができませんでした。
私にとっては、EC2インスタンス自体ではなく、t2.micro linux EC2インスタンスでホストされているApacheサーバーでした。
私はそれを修正して修正しました:
Sudo su
service httpd restart
ビルドオフ@ted.strauss
の答えは、サードパーティのサイトに移動する代わりに、ドロップダウンメニューからSSH
とMyIP
を選択できます。