Intenta ssh-add, debes ssh-agentestar ejecutando y manteniendo tu clave privada
(Ok, respondiendo a la pregunta actualizada, primero se ejecuta ssh-keygenpara generar una clave pública y privada como explicó Jefromi . Se pone la clave pública en el servidor. Debería usar una frase de contraseña, si no tiene el equivalente de un simple -Texto contraseña en su clave privada. Pero cuando lo haga, entonces necesita como cuestión práctica como se explica a continuación.)ssh-agent
Desea ejecutarse ssh-agenten segundo plano cuando inicie sesión. Una vez que inicie sesión, la idea es ejecutar ssh-adduna vez y solo una vez, para darle al agente su frase de contraseña, para decodificar su clave. El agente simplemente se queda en la memoria con su llave desbloqueada y cargada, lista para usar cada vez que ssh en algún lugar.
Todos los comandos ssh-family 1 consultarán al agente y podrán usar automáticamente su clave privada.
En los sistemas OSX (err, macOS ), GNOME y KDE, ssh-agentgeneralmente se inicia automáticamente para usted. Revisaré los detalles en caso de que, como yo, usted también tenga un entorno Cygwin u otro entorno de Windows donde esto ciertamente no se hace por usted.
Haga clic aquí: man ssh-agent.
Hay varias formas de ejecutar automáticamente el agente. Como explica la página del manual, puede ejecutarla para que sea un padre de todos los demás procesos de su sesión de inicio de sesión. De esa manera, las variables de entorno que proporciona estarán automáticamente en todos sus shells. Cuando (más tarde) invocas ssh-addossh ambos tendrán acceso al agente porque todos tienen las variables de entorno con nombres de ruta de socket mágicos o lo que sea.
Alternativamente, puede ejecutar el agente como un hijo ordinario, guardar la configuración del entorno en un archivo y obtener ese archivo en cada shell cuando se inicie.
Mis sistemas OSX y Ubuntu realizan automáticamente la configuración de inicio del agente, por lo que todo lo que tengo que hacer es ejecutarlo ssh-adduna vez. Intente ejecutar ssh-addy ver si funciona, si es así, solo necesita hacerlo una vez por reinicio.
Mi sistema Cygwin necesitaba hacerlo manualmente, así que hice esto en mi .profiley tengo .bashrcfuente .profile:
. .agent > /dev/null
ps -p $SSH_AGENT_PID | grep ssh-agent > /dev/null || {
ssh-agent > .agent
. .agent > /dev/null
}
El .agentarchivo es creado automáticamente por el script; contiene las definiciones de variables de entorno y exportaciones. Lo anterior intenta obtener el archivo .agent y luego intenta con ps(1)el agente. Si no funciona, inicia un agente y crea un nuevo archivo de agente. También puede simplemente ejecutar ssh-addy, si falla, iniciar un agente.
1. E incluso local y remoto sudocon la extensión de pam correcta.