19 votos

No se puede desbloquear la clave SSH protegida por contraseña en OS X Mavericks

Acabo de actualizar a OSX 10.9, y al intentar establecer una conexión SSH con autenticación de clave pública, aparece un aviso pidiendo mi contraseña de clave SSH.

Al principio pensé que la actualización había hecho que el llavero olvidara algunas contraseñas, así que volví a introducir la mía. Al parecer, esa no era la causa, porque el aviso seguía apareciendo.

Primero pensé que podría estar usando una contraseña incorrecta, pero mientras el siguiente comando:

$ ssh-keygen -vvv -y -f id_rsa >| id_rsa.pub
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Enter passphrase:
debug3: Incorrect RSA1 identifier
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
load failed

...no funciona. Si intento usar openssl:

$ openssl rsa -in id_rsa -text
Enter pass phrase for id_rsa:
Private-Key: (2048 bit)
modulus:
    00:...

mi clave privada se descifra correctamente y se imprime toda la información.

¿Qué pasó con la actualización a Mavericks? ¿Cómo puedo recuperar mi clave privada en un estado utilizable?

22voto

J.J. Puntos 3543

Aparentemente, la clave privada que estaba usando en mi máquina era una antigua. Mi clave no contenía la información de cifrado que se añade al archivo de la clave privada si genero una nueva:

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-...

Para solucionar el problema, descifré la clave con openssl:

$ cd ~/.ssh
$ cp id_rsa id_rsa.bck
$ openssl rsa -in id_rsa -out id_rsa

...y luego lo volví a encriptar:

$ openssl rsa -in id_rsa -aes256 -out id_rsa
$ chmod 0600 id_rsa

Y por si acaso, regenera también la clave pública:

$ ssh-keygen -y -f id_rsa > id_rsa.pub

3voto

real Puntos 31

Yo tuve el mismo problema. Lo resolví moviendo .ssh/authorized_keys2 a .ssh/authorized_keys.

El archivo /etc/sshd_config contiene explícitamente estas líneas:

\# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
\# but this is overridden so installations will only check .ssh/authorized_keys
AuthorizedKeysFile  .ssh/authorized_keys

¿Esto es un cambio de la versión anterior de macosx?

1 votos

Este problema también es diferente. En mi caso no pude descifrar mi clave privada.

3voto

Patrick McDonald Puntos 20645

El uso de brew openssl y openssh soluciona el problema de PCKS#8 en Mavericks.

brew update
brew install openssl
brew link openssl --force
brew install openssh

# confirm correct bins are being used
# both should be located in /usr/local/bin
which openssl
which openssh

# add key back to keychain
ssh-add ~/.ssh/id_rsa

No estoy seguro de si forzar la vinculación de openssl rompe algo en Mavricks. Hasta ahora, no he notado ningún problema.

2voto

Hemanshu Bhojak Puntos 3626

El mismo problema aquí, mis llaves muestran el mismo comportamiento.

He rastreado el problema hasta esta entrada del blog. Modifiqué mis claves ssh de la manera descrita en este artículo para aumentar la seguridad y funcionó en Mountain Lion. http://martin.kleppmann.com/2013/05/24/improving-security-of-ssh-private-keys.html

Supongo que Apple cambió algo con openssh y la "nueva" versión no es capaz de leer el nuevo formato PKCS#8.

Mi versión de OpenSSH para Mavericks: OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011

No tengo otro Mac así que no puedo compararlo con la versión de Mountain Lion.

0 votos

/usr/bin/ssh -V imprime OpenSSH_5.9p1, OpenSSL 0.9.8r 8 Feb 2011 en mi máquina virtual 10.8.0.

0 votos

Interesante, Si tienes tiempo puedes comprobar que muestra "ssh-keygen -vvv -y -f id_rsa" si utilizas una clave pkcs#8?

0 votos

Mi clave pkcs #8, derivada a través de ese mismo enlace, muestra esto: gist.github.com/cbowns/7359383/raw/

0voto

Glen Barnhardt Puntos 1

Pude solucionar este problema simplemente haciendo lo siguiente:

cd ~/.ssh
mv known_hosts known_hosts.old

Ahora ve y conéctate. Cuando te haga la pregunta estándar para añadir la huella dactilar escribe que sí.

0 votos

Pero no te olvides de comprobar la huella dactilar.

1 votos

Este es un problema diferente de lo que estaba preguntando. El archivo de hosts conocidos no tiene nada que ver con el problema encontrado aquí (descifrado de la clave privada)

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