SSH-Verbindungsfehler: ssh_exchange_identification: read: Verbindung von Peer zurückgesetzt


25

Beim Versuch, über SSH eine Verbindung zum Server herzustellen, wird die folgende Fehlermeldung angezeigt:

[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

Ich habe die SSH-Konfiguration auf Server und Client überprüft und es gibt keine Probleme.

Starten Sie den SSH-Dienst auf dem Server neu und starten Sie anschließend den Server / Client neu, das Problem ist jedoch noch nicht behoben.


Sie können die SSH-Verbindung über die Firewall-Benutzeroberfläche zulassen (einige Anbieter erlauben dies). Wenn Sie eine alternative Anmeldemethode haben (z. B. digitalocean stellt eine Konsolenschaltfläche bereit), können Sie den folgenden Befehl ausführen: sudo ufw allow ssh sudo ufw allow 22
BSB

Antworten:


26

Dies kann eine Folge vieler Dinge sein.

Einige Dinge, die Sie schnell ausprobieren können, sind:

  • Suchen Sie in /etc/hosts.deny nach Einträgen wie sshd: ALL
  • Vielleicht, fügen Sie sshd: ALLzu/etc/hosts.allow

  • Möglicherweise sind die HostKeys Ihrer SSHD beschädigt. Sie befinden sich im Verzeichnis / etc / ssh /. Sie können sie löschen und sshd neu starten, um sie neu zu generieren. Im Fehlerfall verwenden Sie bitte die folgenden Befehle

    $ 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
    

In den Dateien /etc/hosts.deny und /etc/hosts.allow sind alle Zeilen mit Kommentaren versehen.
Senthil G

1
Bitte füge sshd: ALLhosts.deny hinzu , um zu überprüfen, ob dies hilft.
Vagarwal

2

Die nächste Zeile im Debug sollte so aussehen:

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

Sie haben bei StackOverflow bestätigt, dass Sie NAT / Port-Weiterleitung von einer externen IP-Adresse verwenden. Sie haben auch überprüft, dass Sie von der lokalen Box auf sich selbst ssh können. Da sshing lokal auf Port 443 funktioniert, müssen Sie überprüfen, ob die Portzuordnung funktioniert.

Versuchen:

  1. SSH von einer anderen Box im selben Subnetz
  2. Führen iptables -LSie Port 443 aus, und überprüfen Sie, ob dieser offen ist, oder ob INPUT und OUTPUT auf ACCEPT gesetzt sind
  3. Führen Sie tcpdump -A -s 0 port 443sshing aus und versuchen Sie es dann mit der externen IP. Sie sollten sehen, dass Daten mit der Quelladresse des Routers ankommen

2

FWIW, ich führe Ubuntu 14.04 unter AWS aus. Das Problem wurde durch SSHing über den Java-Webclient behoben und ausgeführt sudo service apache2 start. Ich wollte nur, dass meine Website wieder verfügbar ist, aber es wurde auch der SSH-Zugang repariert. Keine Ahnung warum, aber ich beschwere mich nicht.


Gleiches Thema hier. Meine Sitzung reagierte nicht ohne Grund und ich konnte keine Verbindung mehr über Putty herstellen. Mit dem Web-Client konnte ich meine Verbindung über Putty wieder herstellen.
AndrewK

Danke, ich weiß nicht wie, aber es hat wirklich geholfen. *** aws
Siarhey Uchukhlebau

1

Überprüfen Sie allowed.hosts auf dem Server, zu dem Sie eine Verbindung herstellen möchten, sowie alle Iptables-Regeln, die ausgeführt werden.


1

Das Problem wurde gelöst.
Das Problem liegt bei den Load Balancern in unserem Netzwerk. Das Problem wird beim Neustart der Load Balancer behoben.


1

Ich hatte heute ein ähnliches Problem, als plötzlich der SSH-Zugriff auf eine VM mit derselben Meldung verweigert wurde. ssh -v (am Client) und sshd -d (am Server) haben nicht viel geholfen. Das Problem in meinem Fall begann aufgrund einer Änderung der Firewall- / Iptable-Einstellungen, die ich für eine Demo der Verwendung des LAMP-Stacks durchgeführt habe.

Ich habe system-config-firewall-tui verwendet , um die Firewall zu aktivieren, und nur httpd von dort ausgewählt, wodurch alle anderen Dienste außer httpd blockiert wurden.

Als Lösung hierfür können Sie entweder Berechtigungen für sshd by hinzufügen

  • Aktualisieren der Einstellungen von iptable conf ODER
  • Auswahl von sshd unter system-config-firewall-tui ODER
  • Firewall deaktivieren ODER
  • Beenden Sie den iptable-Dienst (rhel6, entfernen Sie ihn auch aus chkconfig). Service iptables stop

ssh funktioniert jetzt einwandfrei !!!


0

Für mich erlaube ich sshd-Verbindungen in der Datei / etc / hosts.

vi /etc/hosts.allow
and add 

sshd: ALL

0

Die Art und Weise, wie ich das Problem gelöst habe, ist, dass ich zum Hostcomputer gegangen bin und einige Befehle ausgeführt habe

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo service ssh neu starten

Danach wurde ich mit der Maschine verbunden.


-3

Erstes Löschen von openssh- * (openssh-server und openssh-client)

apt-get --purge remove openssh-*

Entfernen des Verzeichnisses /home/username/.ssh

rm -rf /home/username/.ssh 

dann installiere deinen openssh-server und openssh-client

apt-get install openssh-server openssh-client

3
Nein, nicht einmal in der Nähe, die Antwort des OP sagt, was das Problem war. Ihre Antwort ist spezifisch für Distributionen, die apt verwenden. Das OP verwendete RHEL. Das Entfernen und erneute Installieren eines Pakets ist fast nie die Lösung.
user9517 unterstützt GoFundMonica

Haben Sie das alles auf dem lokalen oder dem entfernten Server gemacht?
Jonathan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.