SSH funciona en masilla pero no en terminal

24

Cuando intento ssh esto en una terminal: ssh [email protected]me sale el siguiente error:
Connection closed by 69.163.227.82

Cuando uso masilla, puedo conectarme al servidor. ¿Por qué sucede esto y cómo puedo hacer que funcione en una terminal?

ssh -v [email protected]

OpenSSH_6.0p1 (CentrifyDC build 5.1.0-472) (CentrifyDC build 5.1.0-472), OpenSSL 0.9.8w 23 Apr 2012
debug1: Reading configuration data /etc/centrifydc/ssh/ssh_config
debug1: /etc/centrifydc/ssh/ssh_config line 52: Applying options for *
debug1: Connecting to sub.domain.com [69.163.227.82] port 22.
debug1: Connection established.
debug1: identity file /home/ryannaddy/.ssh/id_rsa type -1
debug1: identity file /home/ryannaddy/.ssh/id_rsa-cert type -1
debug1: identity file /home/ryannaddy/.ssh/id_dsa type -1
debug1: identity file /home/ryannaddy/.ssh/id_dsa-cert type -1
debug1: identity file /home/ryannaddy/.ssh/id_ecdsa type -1
debug1: identity file /home/ryannaddy/.ssh/id_ecdsa-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.1p1 Debian-5
debug1: match: OpenSSH_5.1p1 Debian-5 pat OpenSSH_5*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.0
debug1: Miscellaneous failure
Cannot resolve network address for KDC in requested realm

debug1: Miscellaneous failure
Cannot resolve network address for KDC in requested realm

debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
Connection closed by 69.163.227.82
Salir de mi césped
fuente
¿Qué ssh -v [email protected]muestra?
James Sneeringer
Actualicé la pregunta principal. Además, el servidor debe solicitar una contraseña, no se requieren claves ssh para iniciar sesión.
Get Off My Lawn
¿Cambiaste alguna configuración por defecto en PuTTY?
Kruug
Además, ¿lo has intentado [email protected]? Deja fuera el sub.
Kruug
1
Está utilizando la compilación de OpenSSH de Centrify, lo que implica que su sistema está integrado con AD. Active Directory usa Kerberos, y OpenSSH se queja de que no puede encontrar el KDC de Kerberos, por lo que está rescatando. ¿Cómo es tu /etc/krb5.confaspecto?
James Sneeringer

Respuestas:

23

Solución encontrada para mí a través de la siguiente URL: http://www.held.org.il/blog/2011/05/the-myterious-case-of-broken-ssh-client-connection-reset-by-peer/

Incluso hace un muy buen trabajo al explicar lo que está sucediendo.

Finalmente, agregué lo siguiente a / etc / ssh / ssh_config:

Host *
SendEnv LANG LC_*
HashKnownHosts yes
GSSAPIAuthentication yes
GSSAPIDelegateCredentials no
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
HostKeyAlgorithms ssh-rsa,ssh-dss
MACs hmac-md5,hmac-sha1,hmac-ripemd160

Ni Ciphers ni HostKeyAlgorithms trabajaron solos, estoy bastante seguro de que los MAC me pusieron en la cima para que esto funcione, pero no puedo estar seguro, dedicaron muchas horas a resolver esto. Espero que esto al menos pueda ayudar a alguien más.


Editar: esto (a veces) soluciona el problema, pero probablemente no de la manera que desea. --jcwenger

Parece que esta configuración (como efecto secundario) cambia la forma en que el cliente ssh emite paquetes y ocasiona que emita paquetes más pequeños. Esto no está solucionando el problema; simplemente, a veces, hace que el problema real (la fragmentación de MTU que interactúa con estúpidas implementaciones de reglas de firewall) no se active.

La solución correcta es establecer una MTU que funcione de extremo a extremo.

Tener que configurar manualmente MTU en un número menor para garantizar que no ocurra fragmentación no es más limpio (nosotros, como usuarios, no deberíamos tener que tomar medidas manualmente para contrarrestar los problemas causados ​​por nuestros equipos de red) ... pero al menos se trata directamente con la causa real de una manera confiable y comprobable, en lugar de arruinar la configuración de cifrado de SSH de una manera que, como efecto secundario, cuando las estrellas se alinean, hace que no se formen grandes paquetes.

Además, SSH no es lo único que hace grandes paquetes. La configuración de MTU evita que ocurra lo mismo con otros protocolos también.

mattw
fuente
55
gracias, en mi caso, solo la última línea MACs hmac-md5,hmac-sha1,hmac-ripemd160fue suficiente
Tombart
Tuve un problema con github - git pull / git push - no pasó nada. Intenté ssh -T -v [email protected] y obtuve el mismo error. Usé esto para resolverlo. ¡Gracias!
Jason
Tuve un problema similar y probé esta solución. Un efecto secundario es que cualquier conexión a un host conocido acusaría un cambio de clave de host.
lfagundes
Todos estos parches están tratando el síntoma y no la causa. Reducir el tamaño de cifrado tiene el potencial de prevenir la fragmentación de MTU ... que es el verdadero problema, planteado por @jagguli a continuación.
jcwenger
Agregar la línea "HostKeyAlgorithms ssh-rsa, ssh-dss" en / etc / ssh / ssh_config solucionó mi problema al no poder SSH en un módem Zyxel. Todas las otras líneas en el tetbox anterior ya estaban en mi máquina. ¡Gracias por el consejo!
Jeff Wright
6

Esto solucionó el problema de MTU sin tener que codificar algún valor, lo solucionará para ssh y cualquier otro protocolo efectuado por esto. Como root ejecuta lo siguiente:

echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing

Puede leer más sobre el problema y la solución aquí y aquí .

Marwan Alsabbagh
fuente
Explicación: "Resulta que el sistema de archivos kernel / proc proporciona una manera fácil de habilitar y deshabilitar el sondeo TCP MTU cambiando un valor en 'file' / proc / sys / net / ipv4 / tcp_mtu_probing. Un valor de 0 = deshabilitado ; 1 = habilitado cuando se detecta un enrutador de agujero negro; 2 = siempre habilitado ".
Jorj
1

Busqué y encontré la siguiente sugerencia aquí :

Intente asegurarse de que la siguiente línea en su / etc / ssh / ssh_config (NOT sshd_config) NO esté comentada:

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc

También puede intentar revertir ese archivo al valor predeterminado e intentarlo nuevamente, es decir, desinstalar y volver a instalar openssh-clientIIRC el nombre del paquete.

LawrenceC
fuente
Eso no lo solucionó :(
Get Off My Lawn
1

Pude resolver este problema obligando a usar IPv4 con

ssh -4 [email protected]

Como estoy en una Mac, no sé cuáles son las configuraciones de MTU aquí ni cómo cambiarlas, pero pensé que otros podrían beneficiarse de esto.

Bruno Kim
fuente
Esa opción obliga a ssh a usar solo IP4. También estoy en Mac y NO resolvió mi problema.
Jorj
0

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 .

Funcionó para mí en Windows forzando el cifrado 3des-cbc y la clave en Ubuntu.

Hacker legal
fuente
0

Un poco necro aquí, pero encontré esto en OpenSSH_7.8p1, en Linux. La introducción de la marca DSCP en versiones recientes de OpenSSH parece estar tropezando en VMware NAT (se mencionó que las redes en puente están bien en los enlaces a continuación).

Puede solucionar esto por ahora agregando / configurando lo siguiente en / etc / ssh / ssh_config :

IPQoS lowdelay throughput

Factores adicionales serían que PuTTY (u otros clientes SSH distintos) pueden no estar encontrando el problema desde el mismo host, y su MTU hasta ahora se verifica. es decir:

ping -M do -s 1472 your-ssh-server

Estas publicaciones fueron de particular ayuda y me llevaron a donde necesitaba estar:

https://groups.google.com/forum/#!topic/opensshunixdev/5FK67SCpPg8 https://groups.google.com/forum/#!topic/opensshunixdev/uNd48nGOe7A

Kachunkachunk
fuente
-2

ssh -c aes256-ctr funciona bien;

udara
fuente
¿Por qué crees que este comando resolverá el problema?
Scott