Cada vez que ingreso mi contraseña, por ejemplo git
, ssh
quiero que se recuerde.
Así que lo he configuradossh-agent
También agregué AddKeysToAgent yes
a~/.ssh/config
Si corro ssh-add
ahora todo está bien. Pero sin él, no funciona (tengo que ingresar mi contraseña cada vez)
Sé que podría agregarlo ssh-add
a un script de inicio, pero eso no es lo que quiero ya que no lo necesito todos los días. Pensé que para eso AddKeysToAgent yes
sirve.
Empiezo ssh-agent
como un servicio systemd con SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
.
actualizar
Para realizar pruebas, eliminé el servicio y SSH_AUTH_SOCK. Reinicié y ejecuté, eval $(ssh-agent)
luego ingresé, ssh pi@my-ip
ingresé la contraseña y lo hice nuevamente. Sigue apareciendo la solicitud de contraseña. Entonces no parece ser un problema con systemd.
actualización 2
Pasar AddKeysToAgent yes
a la primera línea lo solucionó con eval.
Respuesta1
ok, entonces el problema era el formato de ~/.ssh/config
. Fue
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
Tiene que ser cualquiera
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
Host *
AddKeysToAgent yes
o
AddKeysToAgent yes
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
Respuesta2
Como alternativa a iniciar el servicio systemd, podrías agregar el siguiente código al script de inicio de tu shell (como ~/.bashrc):
if ! pgrep -u "$USER" ssh-agent > /dev/null; then
ssh-agent > "$XDG_RUNTIME_DIR/ssh-agent.env"
fi
if [[ ! "$SSH_AUTH_SOCK" ]]; then
eval "$(<"$XDG_RUNTIME_DIR/ssh-agent.env")"
fi
También he tenido dificultades para ponerme en ssh-agent
marcha a través del servicio systemd (del usuario), elsección relevantedelparte del agente sshdelartículo sobre claves sshsobre elWiki Arcopodría ser de ayuda. El método anterior funcionó de maravilla, por lo que nunca tuve ningún motivo para buscar una alternativa.
Espero que esto pueda serte de ayuda.