Wir haben einen Server XXX auf Amazon EC2.
SSH wird auf einem Standardport (22) ausgeführt.
Ich habe meinen Pubkey in der Datei /.ssh/authorized_keys abgelegt
Das lustige daran ist, dass es gestern super geklappt hat!
Aber heute weiß ich nicht, was passiert ist! Ich kann mich einfach nicht einloggen.
ssh -vvvv Servername
ist fest auf
debug1: erwartet SSH2_MSG_KEX_DH_GEX_REPLY
Ich habe meinen Pubkey überprüft und er ist da! (Wie ich nachgesehen habe? Ich habe den anderen Typen gebeten, nachzusehen.)
und dann habe ich einen anderen computer (windows 7 + putty) benutzt und meinen neuen pubkey platziert. Und was? Ich konnte mich einloggen! Und das ist ein weiterer Computer mit Win7 im selben LAN, was bedeutet, dass die externe IP die gleiche ist.
Mein privater Schlüssel funktioniert für andere Server aber nicht mit diesem.
Bitte helfen Sie!
quelle
SSH2_MSG_KEX_DH_GEX_REPLY
) erfolgt viel früher in der Verbindung.Antworten:
Ändern Sie die Netzwerkschnittstelle MTU, um es zu lösen. Dies ist ein Fehler für Ubuntu 14.04.
Das hat bei mir funktioniert:
ODER
ssh kann keine Verbindung zum VPN-Host herstellen - hängt bei 'SSH2_MSG_KEX_ECDH_REPLY erwartet'
quelle
sudo ip li set mtu 1400 dev eno1
arbeitete für mich auf Ubuntu 16.04.Genau das gleiche Problem besteht hier beim Zugriff auf einen dedizierten Server im Rechenzentrum online.net.
Theres kein Problem nach einem Neustart, keine Notwendigkeit, MTU zu ändern, SSH-Verbindung funktioniert für 1-3 Wochen, dann erscheint genau dieser Fehler, Blockierung auf KEXINIT, nicht mehr möglich, den SSH-Server zu verbinden.
Es könnte eine Art sshd-Fehler sein, aber der Fehler wird notwendigerweise durch ein paar Nework-Fehler ausgelöst, die nach 1-3 Wochen auftreten. Ich habe dieses Problem viele Male mit vielen verschiedenen Servern in diesem Netzwerk reproduziert. Einige sagen, es könnte mit einem Cisco-Fehler zusammenhängen. Möglicherweise im Zusammenhang mit einigen DPI-Optionen.
Dieses Problem ist bei anderen Servern, die ich in anderen Rechenzentren verwalte und die genau die gleiche Distribution, Konfiguration und SSHD-Version haben, nie aufgetreten.
Wenn Sie nicht alle 10 Tage einen Neustart durchführen möchten, weil die Firewalls des Rechenzentrums (oder andere Netzwerkverbesserungen) seltsame Dinge tun:
Stellen Sie zunächst eine Verbindung mit einer dieser clientseitigen Problemumgehungen her:
Problemumgehung 1: Verringern der lokalen, clientseitigen MTU:
(1400 sollte ausreichen, aber Sie können bei Bedarf versuchen, niedrigere Werte zu verwenden.)
Problemumgehung 2, wobei der ausgewählte Chiffrier für die SSH-Verbindung angegeben wird:
(oder versuchen Sie es mit einem anderen verfügbaren Chiffriergerät)
Diese beiden clientseitigen Problemumgehungen haben es mir ermöglicht, eine Verbindung herzustellen und meine Betriebszeit zu verlängern. Aber Sie möchten diese serverseitige Störung für immer beheben, damit Sie nicht jeden Client auffordern müssen, seine MTU lokal zu optimieren.
Auf gentoo habe ich gerade hinzugefügt:
in /etc/conf.d/net
(Die gleiche mtu-Option sollte irgendwo in Ihrer bevorzugten Distributionsnetzwerk-Konfigurationsdatei verfügbar sein.)
Ich habe die MTU auf 1400 eingestellt, aber 1460 ist wahrscheinlich in den meisten Fällen genug.
Eine weitere Abhilfe könnte darin bestehen, die folgenden iptables-Regeln zum Verwalten der Fragmentierung zu verwenden:
# / sbin / iptables -I AUSGABE -p tcp --tcp-Flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
# / sbin / ip6tables -I OUTPUT -p tcp --tcp-Flags SYN, RST SYN -j TCPMSS --clamp-mss-to-pmtu
(aber ich persönlich brauchte diesen bis jetzt nicht)
Beachten Sie auch, dass die Symptome dieses Problems auch sein können:
nicht nur
edit märz 2016:
Das Verringern der MTU auf 1400 auf dem Server funktioniert am häufigsten, aber ich hatte kürzlich den Fall, dass die MTU auf dem Server bereits auf 1400 gesenkt wurde und das Problem erneut auftrat und der Client die MTU ebenfalls auf 1400 senken musste.
Das Problem trat auch bei Web-Anmeldeformularen auf, die darauf warteten, dass die Seite erneut geladen wurde, bis die Meldung "Der Server hat die Verbindung zurückgesetzt" angezeigt wurde. Dies wurde ebenfalls behoben, nachdem der Client die mtU auf 1400 gesetzt hatte.
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/1254085
http://www.held.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/
https://nowhere.dk/articles/natty-narwhal-problems-connecting-to-servers-behind-cisco-firewalls-using-ssh
/programming/2419412/ssh-connection-stop-at-debug1-ssh2-msg-kexinit-sent
http://www.1-script.com/forums/ssh/ssh-hang-after-ssh2-msg-kexinit-sent-10616-.htm
http://www.snailbook.com/faq/mtu-mismatch.auto.html
quelle
In meinem Fall habe ich keine Berechtigung, die MTU-Größe zu verringern. Die manuelle Angabe der Chiffre funktioniert nicht.
Ich kann nach Verkürzung der MAC-Liste eine Verbindung herstellen, indem ich eine eingebe, zB:
quelle
Ich hatte das gleiche Problem, nachdem ich meinen Ubuntu-Client-Rechner aktualisiert hatte. Ich habe mein Problem gelöst, indem ich die Größe der Zeile "Ciphers" in / etc / ssh / ssh_config verringert habe. Dies funktioniert auch, wenn Sie die Verschlüsselung in der Befehlszeile angeben (z. B .: ssh -c Benutzername @ Hostname).
Tipp von hier:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/708493/comments/39
quelle
Ich hatte dieses Problem heute unter Windows (ssh wird mit Git ausgeliefert) und Ubuntu.
Es scheint ein Fehler in OpenSSH zu sein, es gibt ein Problem in LauchPad .
Es funktionierte für mich unter Windows und erzwang die 3des-cbc-Verschlüsselung und den Schlüssel unter Ubuntu.
quelle
Das Ändern des KexAlgorithmus hat bei mir funktioniert und ist möglicherweise eine Option, bei der Sie nicht über die Systemrechte zum Ändern der MTU-Einstellungen verfügen. Dies könnte auch eine sein, die die OpenSSH-Crew anspricht. z.B
quelle
Wir haben es gelöst, indem wir die Ciphers-Zeile in / etc / ssh / ssh_config auskommentiert haben
quelle
Es scheint klar zu sein, dass der Optionsdialog ein Problem verursacht, da ich die Reihenfolge geändert habe, in der Putty den Schlüsselaustausch aushandelt und das Problem gelöst hat.
quelle
cmiiw
Überprüfen Sie Ihre ~ / .ssh / authorized_keys-Berechtigung, es sollte 600 sein
Überprüfen Sie die Einstellungen unter / var / log / secure, / var / log / messages oder / var / log / auth
quelle
authorized_keys
Berechtigung hat nichts mit dem Fehler zu tun, da der Client aufgrund der früheren Protokollaushandlung nicht mehr reagiert. Das Überprüfen der serverseitigen Protokolle kann hilfreich sein, aber diese Zeile ist eher eine Ablehnung von Kommentaren.