Amazon EC2-再起動後、SSHなし、接続拒否


17

これを2、3回繰り返したので、私がやっていることに何か問題があると思います。

私の手順は次のとおりです。

  1. Ubuntu Server 13.10-ami-ace67f9c(64ビット)を使用して、EC2管理コンソールから新しいインスタンスを起動します
  2. デフォルトで起動(既存のキーペアを使用)
  3. インスタンスが起動します。PuttyまたはMacターミナルを使用してSSHで接続できます。成功!
  4. インスタンスを再起動します
  5. 10分後、インスタンスをバックアップして実行する必要があるときに、端末接続に次のように表示されます。

    stead:~ stead$ ssh -v -i Dropbox/SteadCloud3.pem ubuntu@54.201.200.208
    OpenSSH_5.6p1, Op`enSSL 0.9.8y 5 Feb 2013
    debug1: Reading configuration data /etc/ssh_config
    debug1: Applying options for *
    debug1: Connecting to 54.201.200.208 [54.201.200.208] port 22.
    debug1: connect to address 54.201.200.208 port 22: Connection refused
    ssh: connect to host 54.201.200.208 port 22: Connection refused
    stead:~ stead$
    

パブリックIPアドレスは変更される可能性があるので、EC2管理コンソールを確認して、同じであることを確認します。奇妙な。楽しみのために、パブリックDNSホスト名ec2-54-201-200-208.us-west-2.compute.amazonaws.comで接続してみます。サイコロなし、同じ結果。

EC2コンソールに組み込まれたJava SSHクライアント経由の接続を使用しても、接続拒否になります。

セキュリティグループを確認しました。このインスタンスは、グループlaunch-wizard-4にあります。このグループのインバウンド構成を見ると、ポート22は0.0.0.0/0から許可されているため、どこにでもあるはずです。私はインスタンスにヒットしていることを知っていますが、これは正しいセキュリティグループです。インスタンスにpingできないからです。このセキュリティグループに対してICMPを有効にすると、突然pingがすべて送信されます。

インターネット上で同様のエラーメッセージを含む他の投稿をいくつか見つけましたが、ほとんどはファイアウォールの設定を調整することで簡単に解決できるようです。これらのいくつかを試してみましたが、運はありません。

私は見逃している簡単なEC2ステップがあると推測しています。ご協力いただければ幸いです。詳細な情報を提供するか、さらにテストしてください。

更新-Amazon EC2コンソールからのシステムログは次のとおりです。http//pastebin.com/4M5pwGRt


2
AWSコンソールでシステムログを調べて、再起動中にうまくいかなかったと表示されているかどうかを確認することをお勧めします。システムの再起動時とssh(コンソールで)のみ)
APZ 14年

2
最初の接続後に何もしませんでしたか?IPテーブルまたはsshd構成ファイルをいじることはありませんか?接続をドロップしているように見えるため、ポート22は使用できません。
typositoire 14年

/etc/fstab再起動する前に混乱しましたか?
デビッドレベスク14年

再起動前にiptablesまたはfstabを変更しません。最初のコマンドは、私のRANは、「再起動が今、」私は私のAWSシステムログと、上記更新しますた
SteadH

また、ステータスチェックは両方とも良好です-2/2!私は自分のセットアップに何か簡単な間違いがあったことを望んでいました...多分そうではありません!
SteadH 14年

回答:


6

今日、ec2インスタンスで同様の動作をし、これを追跡しました: sudo reboot now マシンがハングすると、マシンを再起動するときにaws管理コンソールから手動で再起動する必要が sudo reboot あります。ここで指摘されているように、「今」は再起動の有効なオプションではないようです/ubuntu/397502/reboot-a-server-from-command-line

考え?


驚くばかり!今日、私のインスタンスでこれを試しましたが、うまくいきました。ありがとうございました!
SteadH

また、Ubuntu Serverの再起動方法として常にsudo rebootを使用しているため、このリンクは面白いです。奇妙な!
SteadH

@oromoiluigマシンをSSHできない場合、どのように再起動できますか?
バイバブクマール

1
AWSコンソールから@VaibhavKumar:インスタンスをオフにしてから再びオンにします。
-oromoiluig

17

このトピックに関するAWS Developer Forumの投稿から:

壊れたインスタンスを停止し、EBSボリュームをデタッチし、セカンダリボリュームとして別のインスタンスにアタッチします。壊れたボリュームを他のインスタンスのどこかにマウントしたら、/ etc / sshd_configファイル(下部近く)を確認します。YumがいくつかのRHELインスタンスを持っていて、Yumがsshd_configを調べて、最後に重複した行を挿入しました。これにより、sshdが構文エラーのために起動に失敗しました。

修正したら、ボリュームをアンマウントし、デタッチし、他のインスタンスに再アタッチして、再度起動します。

AWSドキュメントへのリンクを使用して、これを分解しましょう。

  1. 壊れたインスタンス停止し、EC2管理コンソールに移動してEBS(ルート)ボリュームをデタッチし、「Elastic Block Store」>「Volumes」をクリックして、停止したインスタンスに関連付けられたボリュームを右クリックします。
  2. 新しいインスタンスを起動壊れインスタンスと同じ地域で、同じOSの後、あなたの新しいインスタンスへのセカンダリボリュームとして、元EBSのルートボリュームを添付。以下の手順4のコマンドは、「data」というフォルダーにボリュームをマウントすることを前提としています。
  3. 壊れたボリュームを他のインスタンスのどこかにマウントしたら、
  4. 次のコマンドを発行して、「/ etc / sshd_config」ファイルの重複エントリを確認します。
    • cd /etc/ssh
    • sudo nano sshd_config
    • ctrl-v ファイルの最後に到達するまでに何回も
    • ctrl-k 「PermitRootLogin without-password」と「UseDNS no」に言及している下部のすべての行
    • ctrl-xそしてY編集したファイルを保存して終了します
  5. @Telegardは (彼のコメントで)症状を修正しただけだと指摘しています。「/etc/rc.local」ファイル内の関連する3行をコメントアウトすることにより、原因を修正できます。そう:
    • cd /etc
    • sudo nano rc.local
    • 「PermitRootLogin ...」行を探して削除します
    • ctrl-xそしてY編集したファイルを保存して終了します
  6. 修正したら、ボリュームをアンマウントし
  7. EC2管理コンソールに移動して「Elastic Block Store」>「Volumes」をクリックし、停止したインスタンスに関連付けられたボリュームを右クリックして、
  8. あなたの他のインスタンスに再接続し、
  9. それを再び発射します

この質問は、関連するかもしれない:serverfault.com/q/325140/153062
Jeromyフランスの

stackoverflow.com/a/21563478/1430996での同じ問題と同様の修正案。コメントは特に役立ちます。
ジェロミーフランス語

これをありがとう!これで問題が解決したのではないかと思うのですが、それはそのSSHログを取得する良い方法です。ありがとう!
SteadH

これはうまくいきました、ありがとう。私の問題(同じ症状:「接続が拒否されました」)は、ディレクトリ/ var / empty / sshdの所有権が間違っていたためです。root:rootである必要がありました。なぜ変わったのか:わかりません、私たちはそれを閉じることすらありませんでした。しかたがない。
cucu8

@JeromyFrench同じ問題があります。手順に従いましたが、「 "PermitRootLogin without-password"」を取得できませんでした。「PermitRootLogin = prohibit-password」があります。私は何をすべきか?
バイバブクマール

0

これは状況を改善しないかもしれませんが、EC2での再起動が「スタック」するケースを見てきました。VMで「リセット」を行ってからシステムログを取得すると、動作が変わる場合があります。ログは最初のブートからではなく、2回目のブートからのものであることを確認してください-更新時に遅れる傾向があります。

チェックするもう1つのことは、インスタンスがIPで応答していることを確認することです。上記で接続が拒否されたように見えます。インスタンスは起動しているようですが、SSHが実行されていないかファイアウォールで保護されていますが、インスタンスが完全に再起動していることを確認してください。

また、テストシステムからすべてのポートを開いて、「nmap」が示す内容を確認することもできます-インスタンスで応答している他のサービスです。


-1

インスタンス名を右クリックし、「セキュリティグループの変更」をクリックします。どこからでもポート22にアクセスできるように作成したセキュリティグループがチェックされ、このインスタンスに適用されていることを確認してください。


-2

sudo reboot nowUbuntu 14.04を実行しているEC2サーバーでSSH経由で実行すると、この問題が発生しました。EC2管理コンソールを使用して再起動した後、正常に動作しました。


-2

私の場合、IPからのポート22接続のみを許可するようにセキュリティグループを設定しました。数日後、ISPがIPアドレスを変更したため、セキュリティグループを更新する必要があります。


-2

私は私のEC2アマゾンのLinuxインスタンスを実行した後にもう到達できませんでした、同様の問題があったのsudoを再起動します

SSHアクセスなし、Amazon管理コンソールからのstop / start / rebootコマンドでも結果は得られませんでした。

Amazonコンソールでイメージを作成することで、ようやくインスタンスを再起動できました。イメージ作成プロセスは、インスタンスの状態を修正するようです。

それが役に立てば幸い ;)


-2

バニラsudo rebootコマンドを実行した後、同じ問題が発生しました。AWSコンソールを使用してAMIを完全に停止(再起動ではなく)してから、バックアップを開始することで問題を解決できることがわかりました。

何らかの理由で、インスタンスを停止してから起動するのではなく、再起動アクションをクリックするなど、AWSコンソールからAMIを再起動しても問題解決しませんでした


-3

前述のように、おそらく/ etc / fstab /を台無しにしたでしょう

この問題がありました。最初に、警告メッセージが示すように、/ dev / sda1にボリュームを再追加する必要があります。

それから私はsshできませんでした。作成した他のボリュームを追加する必要があり、sshの問題が修正されたことに気付きました。

次に、ログインしてfstabを元に戻すことができます。


fsabの編集は不要で、再起動コマンドのみです。
SteadH
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.