Configuré mis cosas ssh con la ayuda de esta guía , y solía funcionar bien (podía correr hg pushsin que me pidieran una frase de contraseña). Lo que podría haber sucedido entre entonces y ahora, teniendo en cuenta que todavía estoy usando el mismo directorio de inicio.
$ cat .hg/hgrc
[paths]
default = ssh://[email protected]/tshepang/bloog
$ hg push
Enter passphrase for key '/home/wena/.ssh/id_rsa':
pushing to ssh://[email protected]/tshepang/bloog
searching for changes
...
ssh
key-authentication
tshepang
fuente
fuente

evalpodría simplemente escribirssh-agent?evalhace lo excitante.ssh-add /path/to/keyUna forma de resolver esto es con
ssh-agentyssh-add:Después de esto, la frase de contraseña se guarda para la sesión actual. y no me volverán a preguntar.
fuente
Yo uso Keychain para administrar claves ssh. También está disponible en Debian y, presumiblemente, Ubuntu con
Aquí está la página del paquete de llavero Debian . Como puede ver, el proyecto no es muy activo, pero funciona para mí. También comenté un poco sobre esto en otra respuesta aquí
fuente
Cree (o edite si existe) el siguiente archivo ~ / .ssh / config:
fuente
IgnoreUnknown AddKeysToAgent,UseKeychainjusto arribaUseKeychain yes.UseKeychainopción se agregó en OpenSSH 7.1p2 (28/02/2016). Quizás tengas una versión anterior. openssh.com/txt/release-7.2Por conveniencia, el método óptimo es una combinación de las respuestas de jmtd y Faheem .
Usar
ssh-agentsolo significa que sessh-agentdebe crear una nueva instancia de cada nueva terminal que abra.keychaincuando se inicializa, pedirá la frase de contraseña para la (s) clave (s) privada (s) y la almacenará. De esa manera, su clave privada está protegida con contraseña, pero no tendrá que ingresarla una y otra vez.El wiki de Arch recomienda inicializar el llavero desde
/etc/profile.d/o su perfil de shell, como.bash_profileo.bashrc. Esto tiene la desventaja de que inicializa su llavero tan pronto como abre un terminal.Un enfoque más flexible es combinarlo
keychaincon unatmuxsesión específica . Entonces, en.bash_profile:... y luego es solo un caso de iniciar la
tmuxsesión segura cuando sea necesario (iniciada desde una combinación de teclas):Ahora, su llavero solo se inicializará una vez cuando inicie esa
tmuxsesión específica . Mientras esa sesión persista, podrá acceder a esassshteclas y acceder a sus repositorios remotos.fuente
.profileesa manera obtendrá la solicitud de claves tan pronto como inicie sesión.Puedes usar
sshpass:Solo necesita agregar
sshpass -p yourpassphraseantes de agregar susshcomando habitual .fuente