Sempre que eu inserir minha senha, por exemplo git
, ssh
quero que ela seja lembrada.
Então eu configureissh-agent
Eu também AddKeysToAgent yes
adicionei~/.ssh/config
Se eu correr ssh-add
agora, tudo ficará bem. Mas sem ele não funciona (tenho que digitar minha senha toda vez)
Eu sei que poderia adicionar ssh-add
um script de inicialização, mas não é isso que eu quero, pois não preciso dele todos os dias. Eu pensei que é para isso AddKeysToAgent yes
que serve?
Eu começo ssh-agent
como um serviço systemd com SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
.
atualizar
Para teste removi o serviço e SSH_AUTH_SOCK. Reiniciei e executei eval $(ssh-agent)
, efetuei login, ssh pi@my-ip
digitei a senha e fiz novamente. Ainda o prompt de senha. Portanto, não parece ser um problema com o systemd.
atualização 2
Passar AddKeysToAgent yes
para a primeira linha corrigiu-o com eval.
Responder1
ok, então o problema era o formato de ~/.ssh/config
. Era
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
AddKeysToAgent yes
Precisa ser
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
Host *
AddKeysToAgent yes
ou
AddKeysToAgent yes
Host awesomehost.tld
User user
IdentityFile ~/.ssh/id_rsa
Responder2
Como alternativa para iniciar o serviço systemd, você poderia adicionar o seguinte código ao seu script de inicialização do 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
Eu também tenho lutado para começar ssh-agent
por meio do serviço systemd (do usuário), oseção relevantedoparte do agente sshdoartigo sobre chaves sshnoArco Wikipode ser útil. O método acima funcionou perfeitamente, então nunca tive motivo para procurar uma alternativa.
Espero que isso possa ser útil para você.