Ich habe OpenSSH_6.6p1 auf einem unserer Server kompiliert. Ich kann mich über SSH beim aktualisierten Server anmelden. Ich kann jedoch keine Verbindung zu anderen Servern herstellen, auf denen OpenSSH_6.6p1 oder OpenSSH_5.8 ausgeführt wird. Während des Verbindens erhalte ich einen Fehler wie unten.
Read from socket failed: Connection reset by peer
Auf dem Zielserver in den Protokollen sehe ich es wie folgt.
sshd: fatal: Read from socket failed: Connection reset by peer [preauth]
Ich habe versucht, den hier erwähnten cipher_spec [ssh -c aes128-ctr destination-server] anzugeben , und konnte eine Verbindung herstellen. Wie kann ssh so konfiguriert werden, dass standardmäßig die Verschlüsselung verwendet wird? Warum wird hier die Chiffre benötigt?
telnet ip.or.name.of.offending.server 22
?Antworten:
Das Problem klingt wie ein serverseitiger 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 ein erneuter Aufruf, um die restlichen Bytes abzurufen. Aus der angezeigten Problembeschreibung geht jedoch hervor, dass der Server die Verbindung beendet, wenn nicht sofort die vollständige Liste der Chiffren abgerufen wurde. Wenn das nächste Paket vom Client eintrifft, sendet der Server eine zurückgesetzte Verbindung an den Client.
Das Konfigurieren des Clients für die Verwendung einer kürzeren Liste von Chiffren würde dann den Fehler umgehen. Der openssh-Client sucht an folgenden Stellen nach der Liste der Chiffren:
Bei den beiden Konfigurationsdateien handelt es sich jeweils um benutzerspezifische und systemweite Einstellungen. Verwenden,
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
wie Eric vorgeschlagen hat, sollte gut funktionieren.quelle
Sie können die Verschlüsselung in der ssh-Konfigurationsdatei angeben (/ etc / ssh / ssh_config oder ähnlich, abhängig von $ PREFIX usw.). Jede Option, die Sie über die Befehlszeile an den ssh-Client übergeben, kann in der Konfigurationsdatei ssh (client) festgelegt werden.
Hier ist die relevante Zeile (nur Kommentar entfernen):
quelle
Ich hoffe, es hilft jemandem:
Bearbeiten Sie sshd_config, indem Sie einen Wert hinzufügen
Bearbeiten Sie ssh_config, indem Sie einen Wert auskommentieren
quelle
Dieses Problem wurde behoben, indem die folgenden Dateiberechtigungen auf 600 geändert wurden.
Außerdem wurde die Berechtigung für alle anderen Dateien in '/ etc / ssh /' auf 644 geändert. Alle Dateien müssen Eigentum von 'root' sein.
Nachfolgend finden Sie die vollständigen Befehle zum Zuweisen der richtigen Berechtigungen für alle Dateien im Verzeichnis '/ etc / ssh':
quelle
Mein Problem, bei dem genau die gleichen Symptome auftraten, war auf abgeschnittene Hostschlüssel zurückzuführen. Versuchen Sie, sie neu zu erstellen mit:
quelle