Executar ssh-add
na linha de comando não mais desbloqueia as chaves ssh corretamente no meu sistema (Ubuntu 11.10 com Unity). Mesmo depois de executar o ssh-add, quando eu ssh para um servidor, aparece uma caixa de diálogo perguntando-me por minha senha de chave ssh. Depois disso, as coisas funcionam como esperado.
ssh-agent
está sendo executado. Quando eu fizer login pela primeira vez:
$ ps -ef | grep ssh-agent
mish 1853 1818 0 18:55 ? 00:00:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/gnome-session --session=ubuntu
Como posso desbloquear a chave ssh corretamente sem ter que enviar um ssh para um servidor? (Acionar manualmente a janela de diálogo da chave ssh seria OK como uma solução, mas eu não sei como fazer isso).
Meu caso de uso é que eu uso o tmuxinator e quero configurar várias conexões ssh. Então eu quero a chave ssh desbloqueada. Caso contrário, todas as caixas de diálogo da chave ssh aparecerão e eu terei que inserir minha frase-senha várias vezes. Ou eu posso ssh em algum lugar antes de iniciar o tmuxinator, mas a conexão é lenta aqui, então isso apenas adiciona atrito. Então eu quero destravar a chave ssh antes de iniciar o tmuxinator, sem ter que procurar o ssh primeiro.
Editar
Apenas tentei sair e fazer login novamente. Então eu fiz:
$ env | grep -i ssh
SSH_AGENT_PID=8693
SSH_AUTH_SOCK=/tmp/keyring-Ho4cfE/ssh
$ ssh-add -D
All identities removed.
$ ssh-add -l
1024 b8:12:34:56[...]:19 name@computer (DSA)
$ ssh-add
Enter passphrase for /home/name/.ssh/id_dsa:
Identity added: /home/name/.ssh/id_dsa (/home/mish/.ssh/id_dsa)
$ ssh-add -l
1024 b8:12:34:56[...]:19 /home/name/.ssh/id_dsa (DSA)
1024 b8:12:34:56[...]:19 name@computer (DSA)
0 mish@mishtop:~$ ssh server
Nesse ponto, outra pergunta minha frase de acesso é feita pela caixa de diálogo da GUI. Frustrante ...
Também é interessante que, depois de "Todas as identidades removidas", o ssh-add -l
ainda exibir uma identidade. Isso me confunde. E parece haver apenas um agente ssh em execução.
Editar 2:
Encontrei um bug no launchpad sobre isso: link
No entanto, esta questão foi sobre como encontrar uma solução alternativa, em vez de perguntar por que não funcionou, então espero que a pergunta seja válida.
Editar 3:
Nada incomum em /etc/ssh/ssh_config
- não toquei nele. Eu tenho um ~/.ssh/config
, mas isso é apenas portas e nomes de usuários.
Eu observei quais processos estavam sendo executados quando a caixa de diálogo apareceu, e foi /usr/lib/gnome-keyring/gnome-keyring-prompt-3
, iniciado por /usr/bin/gnome-keyring-daemon --daemonize --login
. Tentei iniciar o prompt a partir de um terminal, mas nada aconteceu. Então ainda está preso.