Solución 1:
Cambie la interfaz de red MTU para resolverlo. Este es un error de ubuntu 14.04.
Esto funcionó para mí:
sudo ip li set mtu 1200 dev wlan0
O
sudo ifconfig wlan0 mtu 1200
ssh no se conecta al host VPN:se bloquea en 'esperando SSH2_MSG_KEX_ECDH_REPLY'
Solución 2:
El mismo problema exacto aquí para acceder a un servidor dedicado en el centro de datos online.net.
No hay problema después de un reinicio, no es necesario cambiar MTU, la conexión ssh funciona durante 1-3 semanas, luego aparece exactamente el mismo error, bloqueándose en KEXINIT, ya no es posible conectar el servidor ssh.
Podría ser algún tipo de error de sshd, pero necesariamente se desencadena por algunas cosas de la red que suceden después de 1 a 3 semanas. Reproduje este problema exacto muchas veces con muchos servidores diferentes en esta red, algunos dicen que podría estar relacionado con un error de Cisco, posiblemente relacionado con algunas opciones de DPI.
Ese problema nunca sucedió con otros servidores que administro en otros centros de datos, y que tienen exactamente la misma versión de distribución, configuración y sshd.
si no desea reiniciar cada 10 días porque los firewalls del centro de datos (u otros ajustes de red) están haciendo cosas raras:
primero conéctese con una de esas soluciones alternativas del lado del cliente:
solución 1, reducir su MTU local del lado del cliente:
ip li set mtu 1400 dev wlan0
(1400 debería ser suficiente, pero puede intentar usar valores más bajos si es necesario)
solución alternativa 2, especificando el cifrado elegido para la conexión ssh:
ssh -c [email protected] host
(o intente con cualquier otra cifra disponible)
Ambas soluciones alternativas del lado del cliente lo hicieron por mí, pude conectarme y ahorrar mi tiempo de actividad; pero desea arreglar este lado del servidor, para siempre, para que no tenga que pedirle a cada cliente que modifique localmente su MTU.
En gentoo acabo de agregar:
mtu_eth0="1400"
en /etc/conf.d/net
(La misma opción mtu debería estar disponible en algún lugar de su archivo de configuración de red de distribución preferido)
Configuré el mtu en 1400, pero 1460 probablemente sea suficiente en la mayoría de los casos.
otra solución útil podría ser usar las siguientes reglas de iptables para administrar la fragmentación:
# /sbin/iptables -I SALIDA -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# /sbin/ip6tables -I SALIDA -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
(pero personalmente no necesitaba este hasta ahora)
también tenga en cuenta que los síntomas de este problema también pueden ser:
debug1: SSH2_MSG_KEXINIT sent
no solo
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
editar marzo de 2016:
-
bajar el mtu a 1400 en el servidor casi siempre funciona, pero recientemente tuve el caso en el que el mtu ya se había bajado a 1400 en el servidor y el problema reapareció, y el cliente también tuvo que bajar el mtu a 1400.
-
El problema también apareció en los formularios de inicio de sesión web esperando que la página se recargara hasta que dijera "el servidor ha restablecido la conexión", también solucionado después de que el cliente estableciera el mtU en 1400.
enlaces relacionados:
https://bugs.launchpad.net/ubuntu/+fuente/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
https://stackoverflow.com/questions/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
Solución 3:
En mi caso, no tengo permiso para bajar el tamaño de MTU. Y especificar manualmente el cifrado no funciona.
Puedo conectarme después de acortar la lista de direcciones MAC especificando una, por ejemplo:
ssh -o MACs=hmac-sha2-256 <HOST>
Solución 4:
Tuve el mismo problema después de actualizar mi máquina cliente Ubuntu. Resolví mi problema reduciendo el tamaño de la línea "Ciphers" en /etc/ssh/ssh_config. También funciona si especifica el cifrado en la línea de comando (por ejemplo:ssh -c [email protected])
Sugerencia desde aquí:
https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/708493/comments/39
Solución 5:
Empecé a tener este problema hoy, en Windows (ssh distribuido con Git) y Ubuntu.
Parece ser un error en OpenSSH, hay un problema en LauchPad.
Me funcionó en Windows forzando el cifrado 3des-cbc y la clave en Ubuntu.