Compilé OpenSSH_6.6p1 en uno de nuestro servidor. Puedo iniciar sesión a través de SSH en el servidor actualizado. Pero no puedo conectarme a otros servidores que ejecutan OpenSSH_6.6p1 u OpenSSH_5.8 a partir de esto. Al conectarme recibo un error como el siguiente.
Read from socket failed: Connection reset by peer
En el servidor de destino en los registros, lo veo como a continuación.
sshd: fatal: Read from socket failed: Connection reset by peer [preauth]
Intenté especificar el cipher_spec [ssh -c aes128-ctr destination-server] como se menciona aquí y pude conectarme. ¿Cómo puedo configurar ssh para usar el cifrado por defecto? ¿Por qué se requiere el cifrado aquí?
telnet ip.or.name.of.offending.server 22
?Respuestas:
El problema suena como un error del lado del servidor. Cuando el cliente envía la lista de cifrados, el servidor openssh probablemente espera poder leer la lista en una sola llamada al sistema.
Si la lista de cifrados admitidos es más larga de lo que se puede transmitir en un paquete, el servidor puede obtener menos bytes de lo esperado en la primera llamada. El comportamiento correcto en el servidor sería realizar otra llamada para obtener el resto de los bytes. Pero a partir de la descripción del problema, el servidor cierra la conexión cuando no obtuvo la lista completa de cifrados a la vez. Cuando llegue el siguiente paquete del cliente, el servidor enviará un restablecimiento de conexión al cliente.
La configuración del cliente para usar una lista más corta de cifrados evitaría el error. El cliente openssh buscará la lista de cifrados en los siguientes lugares:
Los dos archivos de configuración son, respectivamente, por usuario y configuraciones de todo el sistema. Usar
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
como lo sugirió Eric debería funcionar bien.fuente
Puede especificar el cifrado en el archivo de configuración ssh (/ etc / ssh / ssh_config o similar, depende de $ PREFIX, etc.). Cualquier opción que pase al cliente ssh en la línea de comandos se puede establecer en el archivo de configuración ssh (cliente).
Aquí está la línea relevante (solo descomentar):
fuente
Mi forma de arreglarlo, espero que ayude a alguien:
Edite sshd_config agregando un valor
Edite ssh_config descomentando un valor
fuente
Resolvió este problema modificando los permisos de archivo a continuación a 600.
También modificó el permiso para todos los demás archivos dentro de '/ etc / ssh /' a 644. Todos los archivos deben ser propiedad de 'root'.
A continuación se muestra el conjunto completo de comandos para asignar permisos adecuados para todos los archivos en el directorio '/ etc / ssh':
fuente
Mi problema que tenía exactamente los mismos síntomas que está viendo se debió a claves de host truncadas. Intenta recrearlos con:
fuente