PubkeyAcceptedKeyTypes y tipo de clave ssh-dsa

12

Estoy tratando de probar el orden en que se prueban las claves. Uno de los usuarios del sistema está usando DSA, así que estoy tratando de probarlo como una opción. Me estoy poniendo un Bad key types.

$ ssh -vv -p 1522 [email protected]
OpenSSH_7.1p1, OpenSSL 1.0.2d 9 Jul 2015
debug1: Reading configuration data /Users/jwalton/.ssh/config
/Users/jwalton/.ssh/config line 2: Bad key types 'ssh-ed25519,ecdsa-sha2-nistp256,ssh-dsa,ssh-rsa'.

Lo reduje a ssh-dsa. De acuerdo con ssh_config(5) (en realidad es parte de sshd_config(5), pero aparece como una nueva ssh_configcaracterística en las notas de la versión de OpenSSH 7.0):

 The -Q option of ssh(1) may be used to list supported key types.

Sin embargo, parece que no puedo hacer que funcione:

riemann::~$ ssh -Q 
/usr/local/bin/ssh: option requires an argument -- Q
riemann::~$ ssh -Q dsa
Unsupported query "dsa"
riemann::~$ ssh -Q ssh-dsa
Unsupported query "ssh-dsa"
riemann::~$ ssh -Q ed25529
Unsupported query "ed25529"
riemann::~$ ssh -Q ssh-ed25529
Unsupported query "ssh-ed25529"
riemann::~$ ssh -Q PubkeyAcceptedKeyTypes
Unsupported query "PubkeyAcceptedKeyTypes"

¿Cómo se usa la ssh -Qopción?

¿Cuál es el tipo de clave para ssh-dsa?

jww
fuente

Respuestas:

14

Leer las páginas del manual debería ayudarlo a:

 -Q cipher | cipher-auth | mac | kex | key | protocol-version

Consultas sshpara los algoritmos admitidos para la versión especificada 2. Las características disponibles son: cipher(cifrados simétricos admitidos), cipher-auth(cifrados simétricos admitidos que admiten cifrado autenticado), mac(códigos de integridad de mensajes admitidos), kex(algoritmos de intercambio de claves), key(tipos de clave) y protocol-version(versiones de protocolo SSH compatibles).

Llamar ssh -Q keyte da lo que quieres:

ssh -Q key
ssh-ed25519
[email protected]
ssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Esta es una nueva característica en openssh-7.0, así que recuerde que no tiene que funcionar en versiones anteriores.

ssh-dsaEl tipo de clave es ssh-dssy está deshabilitado de forma predeterminada en esta versión.

Jakuje
fuente
Gracias. ¿En qué página de manual estabas?
jww
2
"El tipo de clave ssh-dsa es ssh-dss y está deshabilitado de forma predeterminada en esta versión". - OK gracias. ¿Hay alguna razón por la que está deshabilitado de forma predeterminada? DSA2 tiene 112 bits de seguridad (equivalente a RSA de 2048 bits), por lo que no es débil / herido como un módulo de 512 bits o 768 bits. Además, DSS incluye RSA y ECDSA, por lo que está desactivando claramente DSA, y no DSS.
jww
1
No en las páginas de manual aquí con Fedora 23 beta; pero la clave ssh -Q funciona. Lamentablemente, las teclas de mi máquina no son compatibles ahora.
mikebabcock
3
@ PavelŠimerda ¿Cómo se relaciona esto con el DNS? ¿Te refieres a DSA? Para esto es exactamente la PubkeyAcceptedKeyTypesopción. Si lo agrega a su ssh_config con +ssh-dssvalor, debería poder aceptar claves DSA en el servidor. En el servidor puede usar HostKeyAlgorithmscomo se describe en las notas de la versión: openssh.com/txt/release-7.0
Jakuje
1
@DavidFaure No explica por qué, fue desactivado, solo dice que fue desactivado y cómo manejarlo
Jakuje
0

Como referencia, una respuesta publicada en unix.stackexchange.com nos ayudó a solucionar el problema:

La nueva versión de openssh (7.0+) desaprobó las claves DSA y no utiliza las claves DSA de forma predeterminada (no en el servidor o el cliente). Ya no se prefiere usar las claves, por lo que si puede, recomendaría usar claves RSA siempre que sea posible.

Si realmente necesita usar claves DSA, debe permitirlas explícitamente en la configuración de su cliente usando

PubkeyAcceptedKeyTypes + ssh-dss Debería ser suficiente para poner esa línea en ~ / .ssh / config, como el mensaje detallado intenta decirte.

/unix//a/247614/39540

Meetai.com
fuente