10 votos

¿Cómo evitar que MacOS siga pidiendo la frase de contraseña para la clave ~/.ssh/id_rsa mientras se opera remotamente vía ssh?

Si me conecto remotamente a un Mac a través de SSH y luego lo uso para acceder a otra máquina (como hacer un git pull) a través de SSH, me seguirá pidiendo la frase de contraseña para la clave ~/.ssh/id_rsa .

Si opero en el mismo Mac localmente utilizando el mismo usuario (digamos admin) no me pedirá la frase de contraseña si he añadido UseKeychain yes en la carpeta ~/.ssh/config (También he añadido la misma configuración para el Mac local, por cierto).

10voto

Douglas Puntos 10417

Debe utilizar ssh-agent para gestionar tu frase de contraseña.

Esto supone que ya ha generado claves SSH para iniciar sesión en su(s) host(es). Si no es así, consulte Cómo hacer SSH en una línea para saber cómo hacerlo.

A continuación, añada su clave al agente

ssh-add

Si necesita una frase de contraseña, se la pedirá. Ahora, cada vez que se conecte por SSH a su Mac remoto, no le pedirá la contraseña hasta que cierre la sesión (local) de Terminal. Si inicias una nueva, te la pedirá una vez y luego la recordará mientras dure esa sesión de Terminal.

¿Se puede evitar tener que introducir una frase de contraseña? Sí...

  • No pongas ninguna. Te lo pide porque has creado un archivo de claves con una frase de contraseña.

  • codificarlo en un script (no recomendable)

Para pasar de un Mac a otro y, finalmente, a otro servidor (por ejemplo, GitHub), tendrá que habilitar (establecer en "sí") ForwardAgent tanto en su ssh_config y sshd_config . Véase este artículo para más información.

8voto

Garex Puntos 339

En primer lugar, Allan es el derecho a entrar "UseKeychain sí" en su .ssh/config archivo. En segundo lugar, mi método también llega a la mano de otro modo

# Use Apple Keychain for ssh-key passphrases
UseKeychain yes
# automatically load keys into ssh-agent
AddKeysToAgent yes
# Automatically forward ssh-agent to destination
ForwardAgent yes

Si usted sabe que agregar la clave de su ssh-agent issueing

ssh-add <keyfile>

e introduzca su contraseña, puede iniciar. PERO también se añade la frase de contraseña para usted llavero:

ssh-add --help
...
  -K          Store passphrases in your keychain.
          With -d, remove passphrases from your keychain.

Así que con

ssh-add -K <keyfile>

usted no sólo carga tu clave, pero también guardar la contraseña en el llavero. Usted tiene que el tema de la "K" sólo una vez.

Con que configuración tienes un guardar la clave y la contraseña almacenada de forma segura en su llavero y cada vez que abra una terminal usando ssh, la clave es cargado automáticamente dentro de usted ssh-agent y la frase está tomada de su llavero.

0 votos

Para mi este fue el truco

0 votos

La mejor respuesta, --apple-use-keychain ha sustituido a -K

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