Même problème ici pour accéder à un serveur dédié dans le centre de données online.net.
Theres aucun problème après un redémarrage, pas besoin de changer MTU, la connexion ssh fonctionne pendant 1-3 semaines, puis apparaît exactement ce même bogue, bloquant sur KEXINIT, plus possible de connecter le serveur ssh.
Cela pourrait être une sorte de bogue sshd, mais cela est nécessairement déclenché par des choses nework qui se produisent après 1 à 3 semaines, j'ai reproduit ce problème exact plusieurs fois avec de nombreux serveurs différents sur ce réseau, certains disent qu'il pourrait être lié à un bogue cisco, éventuellement lié à certaines options DPI.
Ce problème ne s'est jamais produit avec d'autres serveurs que je gère dans d'autres centres de données, et qui ont exactement la même version de distribution, de configuration et de sshd.
si vous ne voulez pas redémarrer tous les 10 jours parce que les pare-feu du centre de données (ou d'autres ajustements du réseau) font des choses étranges:
connectez-vous d'abord à l'une de ces solutions de contournement côté client:
solution de contournement 1, en réduisant votre MTU côté client local:
ip li set mtu 1400 dev wlan0
(1400 devrait suffire mais vous pouvez essayer d'utiliser des valeurs plus faibles si nécessaire)
solution de contournement 2, en spécifiant le chiffre choisi pour la connexion ssh:
ssh -c aes256-gcm@openssh.com host
(ou essayez avec un autre chiffrement disponible)
Ces deux solutions de contournement côté client l'ont fait pour moi, je pouvais me connecter et enregistrer ma disponibilité; mais vous voulez corriger ce problème côté serveur, pour toujours, donc vous n'avez pas à demander à chaque client de modifier localement leur MTU.
Sur gentoo, je viens d'ajouter:
mtu_eth0="1400"
dans /etc/conf.d/net
(la même option mtu devrait être disponible quelque part dans votre fichier de configuration réseau de distribution préféré)
J'ai mis le MTU à 1400, mais 1460 est probablement suffisant dans la plupart des cas.
une autre solution de contournement pourrait être d'utiliser les règles iptables suivantes pour gérer la fragmentation:
# / sbin / iptables -I OUTPUT -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
(mais je n'avais personnellement pas besoin de celui-ci jusqu'à présent)
notez également que les symptômes de ce problème peuvent également être:
debug1: SSH2_MSG_KEXINIT sent
pas seulement
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
modifier mars 2016:
abaisser le mtu à 1400 sur le serveur fonctionne le plus souvent, mais j'ai récemment eu le cas où mtu était déjà abaissé à 1400 sur le serveur et le problème est réapparu, et le client a également dû abaisser mtu à 1400.
Le problème est également apparu sur les formulaires de connexion Web en attendant que la page soit rechargée jusqu'à ce que "le serveur ait réinitialisé la connexion", également résolu après que le client ait défini la mtU sur 1400.
Liens connexes :
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