3 votos

Aparece el diálogo de la contraseña para la clave privada SSH sin contraseña

He instalado mi clave privada SSH en ~/.ssh/id_rsa. Hay sin frase de paso asociada a la clave, sin embargo, cada vez que me conecto a un servidor SSH, aparece un diálogo que me pide que introduzca mi contraseña para acceder al archivo id_rsa.

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

He comprobado que la clave es válida y no requiere contraseña conectándome con la misma clave a través de otras máquinas.

Hay algo extraño en mi configuración particular que está causando el problema, pero no puedo averiguarlo. Actualmente estoy ejecutando OSX 10.7.1 pero el mismo problema ocurría con OSX 10.6.8

0 votos

¿Has probado a seleccionar "Recordar la contraseña en mi llavero" en el diálogo de autenticación?

0 votos

Sí, he probado a seleccionar la casilla de recordar. También he probado a utilizar una contraseña en blanco y hacer clic en Aceptar y también a cancelar simplemente el cuadro de diálogo. Pero todo esto parece no tener sentido: debería NO me pide una frase de contraseña porque no hay ninguna frase de contraseña asociada a la clave. Es una clave privada, sin contraseña.

0 votos

Ah, ya veo. Por favor, envíe un informe de errores a developer.apple.com/bugreporter para asegurarte de que Apple sabe que esto es un problema para ti.

2voto

marfarma Puntos 121

Yo tuve este mismo problema. Sin embargo, cuando generé una nueva clave privada sin contraseña, utilizando 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 añadir la clave antigua, pero añadió la nueva como se esperaba.

Generé la antigua clave en Leopard en 2009, usando la versión de OpenSSL que había cogido, construido e instalado entonces (ese Mac murió, así que no puedo entrar y comprobar qué estaba ejecutando). Algo en esa clave era incompatible con las bibliotecas SSL nativas de Lion.

He hecho una copia de seguridad de mi antigua clave, así que si alguien quiere sugerir algunas comprobaciones, para identificar las propiedades específicas de la clave, que me diga qué comprobar y le informaré.

Otra pista: me di cuenta de 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;
}

de TextMate. No sé si al quitarlo se habría solucionado el problema sin que tuviera que cambiar la llave. Creo que es poco probable.

En caso de que usted (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 añada saliendo primero de TextMate y emitiendo después este comando:

defaults write com.macromates.textmate OakDocumentDisableFSMetaData 1

0 votos

Mi archivo original no tenía propiedades extendidas, pero fue generado por putty-keygen en Windows; cuando volví a crear un nuevo par de claves privadas/públicas sin una frase de contraseña, funcionó como un encanto.

1voto

vcardillo Puntos 101

En mi caso, he comprobado que algún texto extraviado o una imperfección en el archivo de claves puede causar este aviso. Lo último para mí fue esto:

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

Fíjate en el espacio extra que hay. Eso estaba causando esta extraña solicitud de contraseña que aparece en esta clave sin contraseña.

0voto

Las versiones más antiguas del ssh le pedirá una frase de contraseña cada vez que no pueda interpretar el archivo de claves. Si ssh pide una frase de contraseña en un archivo de claves que no se supone que tenga una, probablemente significa que el archivo de claves está corrupto 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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X