Leí y seguí algunos documentos en línea sobre cómo configurar un agente ssh para que no necesite escribir la contraseña cada vez que ssh en una máquina remota.
Sin embargo, con la ayuda de ssh-agent , todavía tengo que hacerlo ssh-add
cada vez que reinicio el shell. El ssh-add
entonces me pide que introduzca la contraseña para desbloquear la clave privada.
Enter passphrase for key '/home/xx/.ssh/id_rsa':
En lugar de escribir mi contraseña para la máquina remota, se me pide que escriba la contraseña de la clave privada. Es como salir de un purgatorio y encontrarme en un infierno después. Parece que id_rsa solo se agrega temporalmente al agente ssh en una sesión , porque cada vez que inicio sesión y escribo ssh-add -l
. Yo obtengo:
The agent has no identities.
¿Puedo preguntar cómo almacenar permanentemente la clave (id_rsa) en ssh-agent? Gracias
EDITAR: esto es lo que hice con ssh-agent
. Agregué el siguiente bloque a~/.bash_profile
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "SSHAGENT" ]; then
eval `$SSHAGENT $SSHAGENTARGS`
trap "kill $SSH_AGENT_PID" 0
fi
ssh-add
tiene un efecto que dura más que la ventana de shell que ha escrito en.ssh-agent
en la publicación.Respuestas:
He instalado llavero.
llavero sudo apt-get install
Si está ejecutando bash, debe agregar algunos comandos a su .bash_profile. Si no tiene un .bash_profile, cree uno en su carpeta de inicio. Agregue estas líneas:
Al comienzo de un día de trabajo, iniciaré sesión. Cuando abro una terminal, se me pedirá una vez mi frase de contraseña. Para todas las demás terminales y conexiones nuevas, no se me volverá a solicitar mi frase de contraseña.
fuente
ssh-add
en la terminal?Lo que está buscando es menos seguro, pero se puede lograr mediante la autenticación de clave pública sin la necesidad de ssh-agent. Una opción más segura es usar la autenticación de clave pública con una frase de contraseña mientras se desactiva la autenticación de contraseña en el servidor ssh, pero esto no es lo que solicitó. Consulte el enlace al final de esta respuesta para obtener instrucciones si decide hacerlo.
Para usar ssh sin que se le solicite ninguna frase de contraseña, debe generar su par de claves mientras deja el campo de frase de contraseña en blanco.
Para verificar si ya ha generado un par de claves, verifique los archivos id_rsa e id_rsa.pub en su directorio ~ / .ssh. Si ya están allí, puede eliminarlos o moverlos para crear un nuevo par de claves.
Tenga en cuenta que si los elimina, perderá el acceso a los servidores ssh que esté utilizando y luego las claves antiguas para autenticar si la autenticación de contraseña está desactivada en el servidor.
Para crear un nuevo par de claves, ejecute el siguiente comando:
Acepte la ubicación predeterminada para las claves y deje la frase de contraseña en blanco.
Para dar su clave pública al servidor ssh al que desea conectarse, use el siguiente comando:
Después de completar estos pasos, podrá iniciar sesión en el servidor remoto sin una contraseña de la computadora que está utilizando.
Referencia: http://tombuntu.com/index.php/2008/02/20/public-key-authentication-for-ssh-made-easy/
fuente
Hace algún tiempo, de repente comencé a pedirme una frase de contraseña para desbloquear mi clave ssh cuando lo hacía
git push
. Resultó que para dejar de pedir una frase de contraseña era suficiente agregar el Agente de clave SSH (GNOME Keyring: SSH Agent) a las Aplicaciones de inicio (en mi caso, solo para marcar la casilla de verificación):fuente