¿Cómo habilitar el intercambio de claves diffie-hellman-group1-sha1 en Debian 8.0?

66

No puedo enviar ssh a un servidor que solicita un diffie-hellman-group1-sha1método de intercambio de claves:

ssh 123.123.123.123
Unable to negotiate with 123.123.123.123 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

¿Cómo habilitar el diffie-hellman-group1-sha1método de intercambio de claves en Debian 8.0?

He intentado (como se propone aquí )

  1. agregue las siguientes líneas a mi /etc/ssh/ssh_config

    KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
    Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
    
  2. regenerar claves con

    ssh-keygen -A
    
  3. reiniciar ssh con

    service ssh restart
    

    pero aun así recibo el error.

j1088099.mvrht.com.
fuente
Me pasa lo mismo con Debian 9.
Rui F Ribeiro
Prueba this diffie-hellman-group-exchange-sha256
Miguel

Respuestas:

94

El sitio web de OpenSSH tiene una página dedicada a problemas heredados como este. Sugiere el siguiente enfoque, en el cliente :

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123

o más permanentemente, agregando

Host 123.123.123.123
    KexAlgorithms +diffie-hellman-group1-sha1

a ~/.ssh/config.

Esto habilitará los algoritmos antiguos en el cliente , lo que le permitirá conectarse al servidor.

Stephen Kitt
fuente
También me enfrenté a este problema hoy, pero eso se debió a la red. Cambié la red y el problema desapareció
Luv33preet
Intenté arriba, pero obtuveUnable to negotiate with 192.168.1.123 port 22222: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes256-cbc,twofish256-cbc,twofish-cbc,twofish128-cbc,blowfish-cbc
typelogic
@ifelsemonkey es un problema diferente, tenga en cuenta que la oferta que recibe no es la misma que la de la pregunta.
Stephen Kitt
3
Confirmado que era un problema diferente. Pude resolverlo agregando la siguiente entrada en mi ~/.ssh/configarchivo. Host 192.168.1.123y debajo de ella Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc.
typelogic el
19

Probé esta solución, pero mi problema era que tenía muchos clientes (heredados) que se conectaban a mi servidor recientemente actualizado (ubuntu 14 -> ubuntu 16).

El cambio de openssh6 -> openssh7 deshabilitó por defecto el diffie-hellman-group1-sha1método de intercambio de claves.

Después de leer esto y esto, se me ocurrieron los cambios que tenía que hacer en el /etc/ssh/sshd_configarchivo:

#Legacy changes
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

Pero un conjunto de cambios heredados más amplio es (tomado de aquí )

#Legacy changes
KexAlgorithms diffie-hellman-group1-sha1,[email protected],ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1
Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr
una varilla
fuente
44
Con suerte, podrá actualizar a sus clientes en algún momento, los algoritmos heredados se deshabilitaron por muy buenas razones y no deberían volver a habilitarse a la ligera (probablemente se dé cuenta de eso, solo pensé que valía la pena señalarlo para otros lectores).
Stephen Kitt
1
Esto funciona en el lado del servidor (a diferencia de la respuesta muy similar, aceptado que se centró en el lado del cliente.)
KNB
Estoy tratando de usar lo mismo para habilitar las claves antiguas. pero como soy un novato, realmente no sé qué IP colocar cuando escribo ssh -oKexAlgorithms = + diffie-hellman-group1-sha1 123.123.123.123
Yousi
Para agregar para que las personas futuras puedan encontrar, me estaba conectando a través de SSH desde una Mac con OpenSSH_7.9p1 a un conmutador Cisco 3750 en ejecución: Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Versión 12.2 (55) SE12, RELEASE SOFTWARE (fc2). Agregué lo siguiente a la configuración del cliente y pude ingresar: KexAlgorithms + diffie-hellman-group1-sha1 Ciphers + aes128-cbc
DYoung