Agregué una clave ssh al agente por:
$ ssh-add ~/.ssh/id_rsa_mac
Identity added: /Users/alex/.ssh/id_rsa_mac (/Users/alex/.ssh/id_rsa_mac)
Después de reiniciar, el agente ya no tiene esta clave agregada:
$ ssh-add -l
The agent has no identities.
¿Por qué pasó esto?
$HOME/.gnupg/private-keys-v1.d
tan pronto como las agregue con ssh-add. Realmente es persistente. Bueno, suponiendo que tenga un directorio de inicio no volátil.Respuestas:
La adición de claves al agente es transitoria. Solo duran mientras el agente se está ejecutando. Si lo mata o reinicia su computadora, se perderán hasta que los vuelva a agregar. Desde la
ssh-agent
página del manual:macOS Sierra
Comenzando con macOS Sierra 10.12.2 , Apple ha agregado una opción de configuración UseKeychain para configuraciones SSH. Puede activar esta función agregando
UseKeychain yes
a su~/.ssh/config
.Llavero OSX
No uso OSX, pero encontré estas preguntas y respuestas en SuperUser tituladas: ¿Cómo usar Mac OS X Keychain con claves SSH? .
Entonces, por lo que parece, podría importar sus claves SSH en Keychain usando este comando:
Sus claves deberían persistir de arranque a arranque.
Fuente: Superusuario: ¿Cómo usar Mac OS X Keychain con claves SSH?
fuente
~/.ssh/id_rsa
. Supongo que esta es la ubicación de su archivo de claves en Linux. También es posible que no esté utilizando el agente de clave ssh estándar. Hay otros, como gnome-keyring-daemon, que pueden tener un comportamiento diferente.ssh-agent
agrega claves automáticamente. En mi opinión, esssh-add
que lee las ubicaciones estándar o elssh
cliente si no está utilizando el agente./usr/bin/ssh-add -K /path/to/private/key
El
ssh-agent
es un servicio de sesión que almacena claves temporalmente para el usuario.El objetivo principal del agente SSH es recordar la versión de texto sin cifrar de una clave asegurada con una frase de contraseña. En otras palabras, la clave se almacena en el disco encriptado usando una frase de contraseña y el propietario de la clave usa
ssh-add
o alguna herramienta GUI para proporcionar la frase de contraseña e indicar al agente que la recuerde hasta que la sesión finalice o el usuario solicite la eliminación explícitamente.Si no está utilizando una frase de contraseña y no está utilizando el reenvío de agente (que de todos modos no es seguro para la mayoría de los propósitos), no necesita el agente en absoluto . Cualquier cliente SSH debería poder leer la clave desde el disco, ya sea desde una ubicación estándar o desde una especificada explícitamente.
Las ubicaciones estándar se enumeran en la página del manual
ssh(1)
:Cuando use ubicaciones no estándar, puede usar el
-i
interruptorssh
descrito en la misma página del manual, o la opción respectiva en el cliente SSH que está usando.fuente
ssh-agent
En sierra :
Use UseKeychain . (No he probado esto, pero parece la solución más correcta).
O
O cree un archivo plist en lugar de agregarlo
~/.bash_profile
.Descargo de responsabilidad: como otros han señalado, no sé qué tan seguro es almacenar frases de contraseña ssh en llaveros.
fuente