El diálogo de contraseña aparece para la clave privada SSH sin contraseña

3

Instalé mi clave privada SSH en ~ / .ssh / id_rsa. No hay contraseña secreta asociada con la clave, sin embargo, cada vez que me conecto a un servidor SSH, aparece un cuadro de diálogo y me pide que ingrese mi contraseña para acceder al archivo id_rsa.

Si cancelo el diálogo o ingreso una frase de contraseña vacía y hago clic en Aceptar, el Terminal me solicita una frase de contraseña.

He verificado que la clave es válida y no requiere una contraseña al conectarme con la misma clave a través de otras máquinas.

Algo extraño en mi configuración particular está causando el problema pero no puedo resolverlo. Actualmente estoy ejecutando OSX 10.7.1 pero el mismo problema estaba ocurriendo con OSX 10.6.8

    
pregunta JeremyT 12.09.2011 - 19:11

3 respuestas

2

Tuve este mismo problema. Sin embargo, cuando se genera una nueva clave privada sin contraseña, se usa el siguiente comando:

ssh-keygen -b 1024 -t rsa -f id_rsa -P ""

Ya no vi el aviso de contraseña.

Además, ssh-add no pudo agregar la clave antigua, pero agregó la nueva como se esperaba.

Generé la vieja llave en Leopard en 2009, usando la versión de OpenSSL que había agarrado, construido e instalado en ese entonces (esa Mac murió, por lo que no puedo iniciar sesión y ver qué estaba ejecutando). Algo sobre esa clave era incompatible con las bibliotecas SSL nativas de Lion.

Hice una copia de seguridad de mi clave anterior, así que si alguien quiere sugerir algunas verificaciones, para identificar las propiedades específicas de la clave, déjeme ver qué hacer y le informaré.

Otra pista: noté que mi antiguo archivo id_rsa.pub tenía atributos extendidos. es decir, sus banderas de permisos se veían así r -------- @ en lugar de r --------

xattr -l id_rsa.pub.old

devuelto:

com.macromates.caret: {
    column = 0;
    line = 1;
}

cruft sobrante de TextMate. No sé si eliminarlo hubiera solucionado el problema sin tener que reemplazar la clave. Creo que es poco probable.

En caso de que usted (el futuro lector) vea lo mismo, puede eliminar el atributo extendido de la siguiente manera:

 xattr -d com.macromates.caret id_rsa.pub.old

Puede evitar que TextMate los agregue al salir de TextMate y luego emitir este comando:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1
    
respondido por el marfarma 30.11.2011 - 19:22
1

Para mí, he encontrado que un texto extraviado o una imperfección en el archivo de claves pueden provocar este aviso. Lo último para mí fue esto:

-----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----

Note el espacio extra allí. Eso estaba causando que este mensaje de contraseña extraño apareciera en esta clave sin contraseña.

    
respondido por el vcardillo 04.09.2015 - 04:57
0

Las versiones anteriores de la utilidad ssh solicitarán una frase de contraseña cada vez que no puedan interpretar el archivo de clave. Si ssh solicita una frase de contraseña en un archivo de clave que no se supone que tenga uno, probablemente significa que el archivo de clave está dañado de alguna manera.

$ dd if=/dev/urandom of=randokey bs=1024 count=1
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 0.000380502 s, 2.7 MB/s
$ chmod 600 randokey
$ ssh -i randokey localhost
Enter passphrase for key 'randokey':

Los mantenedores de OpenSSH mejoraron este comportamiento en algún momento. La versión de ssh que viene con macOS High Sierra sabe la diferencia entre una clave cifrada y una clave corrupta:

$ ssh -i randokey localhost
Load key "randokey": invalid format
Password: ^C

$ ssh -V
OpenSSH_7.6p1, LibreSSL 2.6.2
$ uname -a
Darwin [hostname] 17.4.0 Darwin Kernel Version 17.4.0: Sun Dec 17 09:19:54 PST 2017; root:xnu-4570.41.2~1/RELEASE_X86_64 x86_64
    
respondido por el Kenster 08.02.2018 - 22:22

Lea otras preguntas en las etiquetas