Sim, ssh-agent é a resposta. Para salvar a frase secreta, tudo o que você precisa fazer é:
ssh-add ~/.ssh/id_rsa
Em seguida, insira sua senha e faça login novamente.
Desde que eu atualizei para o Ubuntu 17.10 por um tempo, minhas chaves privadas - que eu uso, por exemplo, para acessar meu servidor via ssh - não são desbloqueadas programaticamente após o login.
Meuentendimentoéque,normalmente,oseahorseclient
devecuidardisso,perguntandosevocêdeveounãoarmazenarasenhadaschavesaodigitá-laspelaprimeiravez.
Meuprimeiropalpitefoiqueseahorse-deamon
nãoestásendoexecutadoporalgummotivo,masé:
user@Zeus:~$psaux|grepseahorseuser191700.00.143263626564?Ss00:070:00seahorse-daemon
Meusegundopalpitefoique,poralgummotivo,eutenhoqueexcluirtodasassenhasrelacionadasarmazenadasnocavalo-marinhoem»Senwords->login«:
Euesperavaforçaroclienteameperguntarnovamenteedepoisarmazená-lonovamente.Masissonãoajudounada.Oclientenãoapareceparameperguntar...
Entãoeuencontreiessapergunta,quepoderiaestarrelacionada,masnãomeajudou:
Como o gerenciamento de outras senhas funciona como esperado (por exemplo, senhas para nautilus, Chromium, Nextcloud etc.), presumo que o problema tenha que fazer algo com ssh-agent
...
Alguém pode me indicar na direção certa, como resolver esse problema? Alguma coisa mudou no modo como o GNOME lida com senhas? Talvez algum novo programa sofisticado não tenha sido instalado durante o processo de atualização?
UPDATE Quando eu adiciono a chave privada ao agente de autenticação novamente com:
ssh-add ~/.ssh/id_rsa
e tente fazer o login, serei solicitado a desbloquear a chave apenas uma vez, depois disso a chave será desbloqueada programaticamente. Mas isso funciona apenas até a próxima reinicialização. Depois de um novo começo eu tenho que adicionar a chave novamente ...
Sim, ssh-agent é a resposta. Para salvar a frase secreta, tudo o que você precisa fazer é:
ssh-add ~/.ssh/id_rsa
Em seguida, insira sua senha e faça login novamente.
Primeira opção
Iniciar o agente ssh:
ssh-agent
Adicione a chave ssh:
ssh-add ~/.ssh/id_rsa
Para fazê-lo persistir após a reinicialização, inicie automaticamente o ssh-agent, adicione a seguinte linha ao seu .bash_profile:
if [ -z "$SSH_AUTH_SOCK" ] ; then
eval 'ssh-agent -s'
ssh-add
fi
Segunda opção
Adicione isto ao seu .bashrc ou .zshrc:
if [ ! -S ~/.ssh/ssh_auth_sock ]; then
eval 'ssh-agent'
ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add
Isso só deve solicitar uma senha na primeira vez que você fizer o login após cada reinicialização. Ele continuará reutilizando o mesmo ssh-agent enquanto permanecer em execução.