Estoy jugando con las configuraciones OpenSSH y toco los parámetros Diffie-Hellman. Estoy usando la herramienta de GDSSecurity para verificar la configuración de DH y esta página para ver otras configuraciones de SSH.
Por diversión, quité todos los módulos menores de 4096 bits de /etc/ssh/moduli
:
$ awk '{print $5}' /etc/ssh/moduli | sort | uniq
4095
6143
8191
Espero que el intercambio de claves falle si el cliente solo acepta grupos de 2048 bits o 3072 bits. Curiosamente, falla en el último caso, pero no en el primer caso de 2048 bits.
KEX proposal client: diffie-hellman-group-exchange-sha256
KEX proposal server: [email protected],diffie-hellman-group-exchange-sha256
KEX algorithm chosen: diffie-hellman-group-exchange-sha256
KEX client group sizes: min = 2048, nbits = 2048, max = 2048
KEX server-chosen group size in bits: 2048
Warning: Permanently added 'test,x.x.x.x' (ED25519) to the list of known hosts.
KEX proposal client: diffie-hellman-group-exchange-sha256
KEX proposal server: [email protected],diffie-hellman-group-exchange-sha256
KEX algorithm chosen: diffie-hellman-group-exchange-sha256
KEX client group sizes: min = 3072, nbits = 3072, max = 3072
ssh_dispatch_run_fatal: Connection to x.x.x.x: DH GEX group out of range
El sitio mencionado también reclama un intercambio de claves exitoso utilizando un grupo de 2048 bits.
Sé muy poco sobre los detalles del protocolo SSH o OpenSSH para entender lo que está pasando aquí. ¿OpenSSH usa un parámetro de respaldo si no hay un grupo apropiado disponible desde el archivo de módulos?