Ich habe seit ungefähr einem Monat eine Verbindung zu einem Remote-Server über meinen Mac hergestellt. In letzter Zeit habe ich versucht, eine Verbindung mit ssh dylan @ MY_IP herzustellen, und diese Nachricht erhalten.
ssh_exchange_identification: read: Connection reset by peer
Ich habe auch einige diagnostische Informationen ...
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to {MY IP{ [MY IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/id_rsa type -1
debug1: identity file /Users/watson/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/watson/.ssh/id_dsa" as a RSA1 public key
debug1: identity file /Users/watson/.ssh/id_dsa type 2
debug1: identity file /Users/watson/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
Nachdem ich einige Nachforschungen angestellt hatte, versuchte ich Folgendes ...
- Meinen Router neu gestartet
- Meine Datei "unknown_hosts" wurde gelöscht
- Meine "bekannte_Hosts" -Datei wurde gelöscht
- Mein DHCP wurde freigegeben und erneuert
- Ich habe auch versucht, Putty von einem anderen Gerät (Windows) mit einem Fehler zu verwenden
Beachten Sie, dass ich keine Änderungen am Server vorgenommen habe, um diese Kommunikation zu verhindern.
Ich bin mir auch nicht sicher, ob dies Probleme verursachen würde, aber ich habe eine Verbindung über den Domainnamen und die IP-Adresse hergestellt.
Außerdem konnte ich erfolgreich eine Verbindung von einer anderen IP-Adresse herstellen.
Ich weiß, dass dies ein großes Problem mit vielen Ressourcen ist, aber viele der Lösungen haben nicht funktioniert, und ich habe auch keine Lösung für irgendjemanden gesehen.
Aktualisieren
Ich habe es auf Protokoll 1 gezwungen. Anstelle von "Verbindung durch Peer zurücksetzen" wird jetzt "Verbindung vom Remote-Host geschlossen" angezeigt. Das Ausführen mit Debug-Informationen ergab Folgendes:
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to MY_IP [MY_IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/identity type -1
debug1: identity file /Users/watson/.ssh/identity-cert type -1
ssh_exchange_identification: Connection closed by remote host
/Users/watson/.ssh/id_dsa
? Versuchen Sie, die Datei zu sichern und zu entfernen.ssh -1 ...
Antworten:
Auf diese Weise habe ich den Fehler "ssh_exchange_identification: Verbindung vom Remote-Host geschlossen" beim Herstellen einer Verbindung zu einem SSH-Server behoben.
Ich habe diesen Fehler beim Versuch, eine Verbindung zu einem eingebetteten Linux-Computer herzustellen, nachdem ich ein Paket in root entpackt habe. Viele Bibliotheksdateien wurden ersetzt, einschließlich libssl.
Versuche zu verbinden:
Googeln schien nur darauf hinzudeuten, hosts.deny und hosts.allow zu überprüfen, aber mein Zielcomputer hatte keine solchen Dateien.
Nach einem Neustart (gemäß Karthiks Vorschlag) lief sshd nicht. Ich habe versucht, sshd manuell auf dem Ziel zu starten:
Ich habe /usr/lib/libssl.a durch die Originalversion ersetzt und sshd gestartet und die Dinge waren wieder normal. Das Problem wurde in meinem Fall durch eine falsche Version in dem Paket verursacht, das ich ursprünglich in root entpackt hatte.
quelle
Ich habe den gleichen Fehler erhalten (aber von jedem Computer, einschließlich des störenden Computers über
ssh localhost
).Es begann, als ich ein Benutzerprofil migrierte. dh nach dem Kopieren von Dateien als root, dann hat Befehle wie
chown -R username /Users/username/Destop
Trotzdem völlig unsicher, warum / var / empty Besitzer in Benutzername geändert wurde, aber
ssh
definitiv/var/empty
im Besitz von root sein muss (sonst erhalten Siessh_exchange_identification: read: Connection reset by peer
):quelle
/var/empty
das Problem für mich behoben.Dies ist kein Problem mit Ihrem lokalen Computer, sondern ein Problem auf der Serverseite. Es kann mehrere Faktoren geben, die dieses Problem verursachen:
Wenn ich in der Vergangenheit diese Probleme hatte, habe ich eines von zwei Dingen in der folgenden Reihenfolge ausgeführt:
Meistens löst 1 das Problem, aber ich musste in einigen Fällen 2 tun. Ich konnte nicht herausfinden, warum dies der Fall ist, nur dass es funktioniert hat. Vielleicht hat es etwas mit der Art und Weise zu tun, wie der Schlüssel präsentiert wird, oder vielleicht wurde er auf irgendeine Weise beschädigt - ich bin mir nicht sicher. Was ich jedoch weiß, ist, dass der Fehler ausschließlich mit dem Server zu tun hat und wie der Handshake auftritt, wenn die SSH-Verbindung hergestellt wird.
quelle
Ich hatte SSH mit Cygwin eingerichtet und in meinem Fall war es die Windows-Firewall, die genau diesen Fehler verursachte. Stellen Sie daher sicher, dass Verbindungen zu Port 22 zulässig sind.
quelle
Ich habe es wirklich leicht geschafft, dieses Problem selbst zu lösen.
In normalem OS X können Sie dies lösen, indem Sie einfach "Remote Login" in den Systemeinstellungen / Freigabe umschalten.
Wenn es sich jedoch um einen Headless-Server handelt (wie in meinem Fall), können Sie mit der OSX Server-App zu (Ihrem Servernamen) / Einstellungen wechseln und "Sichere Shell-Verbindungen ein- und ausschalten" aktivieren.
quelle
Wenn Sie einen privaten Schlüssel oder einen Sicherheitsschlüssel verwenden, um sich bei Ihrem Server anzumelden, müssen Sie die Berechtigung für die Schlüsseldatei mithilfe des Befehls in 660 ändern
sudo chmod 660 Dateiname
quelle
ssh
nicht funktioniert, ist nicht klar, wie dieses Problem einem funktionierenden System zufällig zufügen würde. (2) Diese Antwort wäre nützlicher, wenn Sie die Datei, über die Sie sprechen, identifiziert oder Anweisungen gegeben haben, damit ein Benutzer sie identifizieren kann. (3) Ich denke, Sie sprechen von einer Datei im (unter) dem Home-Verzeichnis des Benutzers. Wenn das der Fall ist,sudo
sollte das nicht nötig sein.