Configuré mis cosas ssh con la ayuda de esta guía , y solía funcionar bien (podía correr hg push
sin 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
eval
podría simplemente escribirssh-agent
?eval
hace lo excitante.ssh-add /path/to/key
Una forma de resolver esto es con
ssh-agent
yssh-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,UseKeychain
justo arribaUseKeychain yes
.UseKeychain
opció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-agent
solo significa que sessh-agent
debe crear una nueva instancia de cada nueva terminal que abra.keychain
cuando 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_profile
o.bashrc
. Esto tiene la desventaja de que inicializa su llavero tan pronto como abre un terminal.Un enfoque más flexible es combinarlo
keychain
con unatmux
sesión específica . Entonces, en.bash_profile
:... y luego es solo un caso de iniciar la
tmux
sesión segura cuando sea necesario (iniciada desde una combinación de teclas):Ahora, su llavero solo se inicializará una vez cuando inicie esa
tmux
sesión específica . Mientras esa sesión persista, podrá acceder a esasssh
teclas y acceder a sus repositorios remotos.fuente
.profile
esa manera obtendrá la solicitud de claves tan pronto como inicie sesión.Puedes usar
sshpass
:Solo necesita agregar
sshpass -p yourpassphrase
antes de agregar sussh
comando habitual .fuente