.ssh / config: "Opción de configuración incorrecta: UseKeychain" en Mac OS Sierra 10.12.6


91

Estoy tratando de configurar mi ssh config en Mac (Mac OS Sierra 10.12.6) de tal manera que almacene la frase de contraseña para mi clave ssh en el llavero. Anteriormente podía hacer eso con

ssh-add -K ~/.ssh/id_rsa

Pero recientemente esto parece que ya no funciona. Después de este artículo , parece haber un cambio en el comportamiento de la configuración de ssh en Mac OS> 10.12.2 y la forma recomendada de solucionar este problema es agregar UseKeychain yesa su configuración de ssh. Así que aquí está mi .ssh/configsección Host *:

Host *
  Port 22
  ServerAliveInterval 60
  ForwardAgent yes
  IdentityFile ~/.ssh/id_rsa
  AddKeysToAgent yes
  UseKeychain yes

Cuando intento enviar un ssh a un host externo, aparece el siguiente mensaje de error:

$ ssh my-host
/Users/USER/.ssh/config: line 16: Bad configuration option: usekeychain

¿Alguna idea de por qué sucede esto y cómo puedo solucionarlo? ¡Gracias!

Respuestas:


169

Intente especificar otra opción, a saber, IgnoreUnknowncomo a continuación:

Host *
  IgnoreUnknown UseKeychain
  UseKeychain yes

Puedes encontrar más información sobre esto aquí .

Si ya tiene un IgnoreUnknownvalor, use valores separados por comas

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes

2
Omita el archivo de configuración a través de ssh -F /dev/null ...temporalmente, funciona para mí.
Itachi

1
Agregar IgnoreUnknown UseKeychaintodavía no funciona para mí, así que elimino por UseKeychain yescompleto y funciona. Sin embargo, no estoy seguro de que este sea el mejor enfoque.
Hank Chan

Esta solución funcionó para mí, pero no entiendo por qué este cambio de repente. Solo estoy ingresando a mi cuenta de DigitalOcean.
anjanesh

Eliminé todas las opciones y dejé el Host e IdentityFile. Github dice que use esas opciones, pero tampoco me funcionan. Gracias.
Natus Drew

51

La respuesta aceptada me ayudó pero no resolvió completamente mi problema porque tenía múltiples opciones que eran malas. A continuación, se muestra un ejemplo de cómo podría verse si tiene este problema:

Host *
  IgnoreUnknown AddKeysToAgent,UseKeychain
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/id_rsa

Solo quiero dejar esto aquí: también tuve problemas para conectarme de forma remota y este resultó ser el problema. El problema se generó al usar la herramienta Sourcetree de Bitbucket, que desinstalé pero dejó restos que impidieron la conexión remota
Connor

¡Gracias! Trabajado en MacOS Mojave 10.14.6
Brendan

¿Por qué funciona esto? Tuve el mismo problema y esta respuesta lo solucionó, pero todavía no sé por qué funcionó o por qué tuve el problema en primer lugar ..
Nishant Mehta

2

Acabo de comentar la línea y scp / ssh comenzó a trabajar para mí nuevamente.


1

En lugar de ssh-add, escriba 'open .ssh / id_rsa' y agréguelo al llavero

La opción UseKeychain nunca apareció tan mal en mi configuración, pero al principio, antes de cualquier otro host, lo siguiente

Host *
UseKeychain yes 

Host (...)

FYI, creo que ese es el orden incorrecto. Si lo escribe de esa manera, sus *reglas serán ignoradas. man ssh_configdice: "Dado que se usa el primer valor obtenido para cada parámetro, se deben dar más declaraciones específicas de host cerca del comienzo del archivo y valores predeterminados generales al final".
Telemachus

Para su información, lo he tenido así durante casi una década con docenas de servidores y nunca tuve un problema. Me conecto a tantos servidores todos los días. Sin embargo, si alguien encuentra un problema de la vida real con esa configuración, tal vez sea ese.
Ricardo Mendes

0

Es la mayúscula -K prueba con minúsculas -k !!

ssh-add -k ~/.ssh/id_rsa

Enter passphrase for /Users/tom/.ssh/id_rsa:
Identity added: /Users/tom/.ssh/id_rsa (/Users/tom/.ssh/id_rsa)

ssh-addtiene la -Kopción al menos en macOS. man ssh-add:-K When adding identities, each passphrase will also be stored in the user's keychain. When removing identities with -d, each passphrase will be removed from it.
uasi

0

Tuve el mismo problema y me di cuenta de que cuando comencé a generar la clave siguiendo las instrucciones. El primer paso es este.

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

No cambié la dirección de correo electrónico pero, por supuesto, me olvidé de hacerlo: D. Así que asegúrese de no olvidar ese paso y todo estará bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.