SSH接続エラー:ssh_exchange_identification:読み取り:接続がピアによってリセットされました


25

SSH経由でサーバーに接続しようとすると、次のエラーが表示されます。

[root@oneeighty ~]# ssh -vvv -p 443 root@xxx.xxx.xxx
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx [IP] port 443.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: read: Connection reset by peer

サーバーとクライアントのSSH構成を確認しましたが、問題はありません。

サーバーでSSHサービスを再起動してからサーバー/クライアントを再起動しましたが、問題は解決しません。


ファイアウォールによるssh接続を許可することができますユーザーインターフェイス(一部のプロバイダーはそれを許可します)またはログインする代替方法がある場合(例:digitaloceanはコンソールボタンを提供します)以下のコマンドを実行できますsudo ufw allow ssh sudo ufw allow 22
BSB

回答:


26

これは多くのことの結果である可能性があります。

すぐに試すことができるものはほとんどありません。

  • /etc/hosts.denyで次のようなエントリを探します sshd: ALL
  • おそらく、追加sshd: ALLする/etc/hosts.allow

  • SSHDのHostKeysが破損している可能性があります。それらは/ etc / ssh /ディレクトリにあります。それらを削除してsshdを再起動すると、再生成されます。エラーが発生した場合は、次のコマンドを使用してください

    $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    $ ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    $ /etc/init.d/sshd start
    

/etc/hosts.denyファイルと/etc/hosts.allowでは、すべての行がコメント化されています。
センチルG

1
sshd: ALLhosts.denyに追加して、それが役立つかどうかを確認してください。
-vagarwal

2

デバッグの次の行は次のようになります。

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7

StackOverflowで、外部IPアドレスからのNATing /ポート転送を使用していることを確認しました。また、ローカルボックスからそれ自体にsshできることも確認しました。ポート443にローカルにスッシングが機能する場合、ポートマッピングが機能することを確認する必要があります。

試してください:

  1. 同じサブネット内の別のボックスからのSSH
  2. 実行iptables -Lして、ポート443が開いているか、INPUTおよびOUTPUTがACCEPTに設定されていることを確認します。
  3. 実行tcpdump -A -s 0 port 443してから、外部IPへのsshingを試行します。ルーターの送信元アドレスでデータが到着するはずです。

2

FWIW、私はAWSでUbuntu 14.04を実行しています。この問題は、Java Webクライアントを介してSSHを実行し、を実行することで修正されましたsudo service apache2 start。ウェブサイトをバックアップしたかっただけですが、SSHアクセスも修正されました。理由はわかりませんが、私は文句を言っていません。


ここで同じ問題。理由もなくセッションが応答しなかったため、パテで再接続できませんでした。Webクライアントを使用することで、パテを介した接続が再び機能するように魔法をかけました。
AndrewK

ありがとう、どうしたらいいのかわからないけど、本当に助かりました。*** aws
Siarhey Uchukhlebau

1

接続しようとしているサーバーのallowed.hosts、および実行中のiptablesルールを確認します。


1

この問題は解決されました。
問題は、ネットワーク上にあるロードバランサーにあります。ロードバランサーを再起動すると、問題は解決します。


1

VMへのsshアクセスが突然同じメッセージで拒否されたため、今日同様の問題に直面しました。ssh -v(クライアント)およびsshd -d(サーバー)はあまり役に立ちませんでした。私の場合の問題は、LAMPスタックの使用法のデモのために行ったファイアウォール/ iptable設定の変更が原因で始まりました。

system-config-firewall-tuiを使用してファイアウォールを有効にし、httpd以外のすべてのサービスをブロックするhttpdのみを選択しました。

そのため、これに対する解決策として、sshdにアクセス許可を追加します。

  • iptable conf設定の更新OR
  • system-config-firewall-tuiからsshdを選択または
  • ファイアウォールを無効にするOR
  • iptableサービスを停止(rhel6、chkconfigからも削除)service iptables stop

sshは現在完全に正常に動作します!!!



0

私が問題を解決したのは、ホストマシンに行っていくつかのコマンドを実行したことです

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo service ssh restart

その後、マシンに接続しました。


-3

openssh- *(openssh-serverおよびopenssh-client)の最初のパージ

apt-get --purge remove openssh-*

/home/username/.sshディレクトリの削除

rm -rf /home/username/.ssh 

次に、openssh-serverとopenssh-clientをインストールします

apt-get install openssh-server openssh-client

3
いいえ、近いものではなく、OPの答えは問題が何であったかを示しています。あなたの答えはaptを使用するディストリビューションに固有であり、OPはRHELを使用していました。パッケージを削除して再インストールすることは、ほとんど解決策ではありません。
user9517はGoFundMonicaを14

これをすべてローカルサーバーまたはリモートサーバーで実行しましたか?
ジョナサン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.