229 votos

MacOS Sierra no parece recordar las claves SSH entre reinicios

Tengo que ejecutar este comando desde que me actualicé a MacOS:

ssh-add -K

Corrige el problema tras el reinicio pero tengo que ejecutar este comando cada vez que me conecto a mi ordenador.

Si no ejecuto el comando anterior, mis claves en ~/.ssh se saltan y se me pide la contraseña del servidor para establecer la conexión.

5voto

Frog Puntos 21

Ya tuve este problema y he encontrado una forma de evitarlo. Acabo de crear un archivo llamado config en mi ~/.ssh donde he añadido las siguientes líneas:

Host github.com
HostName github.com
IdentityFile ~/.ssh/github
IdentitiesOnly yes

No estoy seguro de por qué, pero Host y HostName ambos son importantes. En mi caso, si uno de ellos no estaba presente, la solución no funcionaba.

Entonces, acabo de hacer un ssh-add -K y funcionaba incluso después del reinicio.

5voto

talkingnews Puntos 42

Si está utilizando una versión diferente de ssh (por ejemplo, instalada a través de homebrew) las soluciones anteriores no funcionarán de forma inmediata. Por ejemplo, AddKeysToAgent yes y UseKeychain yes en el .ssh/config no son reconocidos por las versiones de ssh que no son de Apple y causarán un error. Lo mismo para el -A o -K para la opción ssh cliente.

Esto significa que @mluisbrown La respuesta de la empresa no funcionará en absoluto. Puede utilizar el método 1 de @JakeGould y utilizar explícitamente el sistema MacOS ssh-add utilidad en su .bash_profile para añadir todas las llaves al llavero, es decir

/usr/bin/ssh-add -A

Como mencionó un comentario anterior En este caso, es posible que tengas que añadir primero una llave al llavero: por ejemplo /usr/bin/ssh-add -K .ssh/github

4voto

Saketh Naidu Puntos 21

Encontré que ssh-add -K me dio " opción ilegal -- K ". Esto se debía a que ssh-add era una versión extraña que venía de /usr/local/bin (¿instalado por brew?). Pude añadir la clave mediante el uso específico del ssh-add ubicado en /usr/bin:

/usr/bin/ssh-add -K ~/.ssh/id_rsa

3voto

Warren Severin Puntos 36

He actualizado a Mac OS X Sierra (10.12.6). Pude hacer ssh en otros hosts pero no en github.com.

Esto es lo que tuve que insertar en ~/.ssh/config:

PubkeyAcceptedKeyTypes ssh-dss,ssh-rsa

Después de ese cambio, pude usar github como antes.

2voto

Tchavo Puntos 1

Modificando ~/.ssh/config para añadir UseKeyChain para todos los hosts es suficiente para detener esta pesadilla recurrente ;)

Host *
 UseKeychain yes

Si el archivo está vacío o no existe, simplemente cree y/o añada la configuración anterior.

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