GNU/Linux >> LINUX-Kenntnisse >  >> Linux

SSH-Probleme:Lesen vom Socket fehlgeschlagen:Verbindung durch Peer zurückgesetzt

Lösung 1:

Das Problem klingt nach einem serverseitigen Fehler. Wenn der Client die Liste der Chiffren sendet, erwartet der openssh-Server wahrscheinlich, dass er die Liste in einem einzigen Systemaufruf lesen kann.

Wenn die Liste der unterstützten Chiffren länger ist, als in einem Paket übertragen werden kann, erhält der Server beim ersten Aufruf möglicherweise weniger Bytes als erwartet. Das richtige Verhalten auf dem Server wäre, einen weiteren Aufruf durchzuführen, um die restlichen Bytes zu erhalten. Aus der Problembeschreibung geht jedoch hervor, dass der Server stattdessen die Verbindung schließt, wenn er nicht sofort die vollständige Liste der Chiffren erhalten hat. Wenn das nächste Paket vom Client ankommt, sendet der Server einen Verbindungs-Reset an den Client.

Wenn Sie den Client so konfigurieren, dass er eine kürzere Liste von Verschlüsselungen verwendet, würde dies den Fehler umgehen. Der openssh-Client sucht an den folgenden Stellen nach der Liste der Chiffren:

  1. In der Befehlszeile entweder mit -c cipher_spec oder -o Ciphers=cipher_spec
  2. In ~/.ssh/config durch Angabe von Ciphers cipher_spec im relevanten Hostabschnitt oder vor dem ersten Host.
  3. In /etc/ssh/ssh_config im selben Format wie ~/.ssh/config
  4. Eine zur Kompilierzeit in den Client eingebaute Standardliste.

Die beiden Konfigurationsdateien sind jeweils benutzerspezifische und systemweite Einstellungen. Mit Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc wie Eric vorgeschlagen hat, sollte gut funktionieren.

Lösung 2:

Sie können die Chiffre in der ssh-Konfigurationsdatei angeben (/etc/ssh/ssh_config oder ähnlich, hängt von $PREFIX usw. ab). Jede Option, die Sie auf der Befehlszeile an den ssh-Client übergeben, kann in der ssh (Client)-Konfigurationsdatei festgelegt werden.

Hier ist die relevante Zeile (einfach auskommentieren):

#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Lösung 3:

Mein Weg, es zu beheben, hoffe, es hilft jemandem:

# Recreate host keys
sudo rm /etc/ssh/ssh_host_*
sudo ssh-keygen -A

# Re-install SSh
sudo apt-get --reinstall install openssh-server openssh-client

Bearbeiten Sie sshd_config, indem Sie einen Wert hinzufügen

add :  MaxAuthTries 3

Bearbeiten Sie ssh_config, indem Sie einen Wert auskommentieren

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

Linux
  1. Verhindern, dass eine unterbrochene NFS-Verbindung das Client-System einfriert?

  2. Wie beende ich eine SSH-Verbindung?

  3. Wie kann ich Eingaben von der Tastatur des Hosts lesen, wenn ich über SSH verbunden bin?

  4. Linux rdesktop ERROR recv Verbindung durch Peer zurückgesetzt

  5. Beschränken Sie rsync über ssh read only / nur kopieren vom entfernten Host

So beheben Sie ssh_exchange_identification:read:Connection reset by peer Error

So führen Sie SCP vom Linux-Server zum Windows-Client aus

Gibt es eine clientseitige Problemumgehung für eine zu kurze automatische Abmeldung von einer SSH-Verbindung?

sshfs-Verbindung durch Peer mit Identifizierungsdatei zurückgesetzt

SSH-Login daran hindern, motd vom Client zu drucken?

Init 1 von einer Remote-SSH-Sitzung (über VPN) beendet meine SSH-Verbindung