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:
- In der Befehlszeile entweder mit -c cipher_spec oder -o Ciphers=cipher_spec
- In ~/.ssh/config durch Angabe von Ciphers cipher_spec im relevanten Hostabschnitt oder vor dem ersten Host.
- In /etc/ssh/ssh_config im selben Format wie ~/.ssh/config
- 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