Eu tenho uma chave SSH privada em um servidor de desenvolvimento compartilhado, que é protegido por uma senha.
Mesmo depois de carregá-lo em ssh-agent
, sou solicitado novamente pela senha da chave privada
Por algum motivo, mesmo depois de eu ssh-add
da chave privada e responder corretamente ao prompt de senha, eu sou solicitado subsequentemente pela mesma senha de chave privada novamente , quando eu git pull
in um clone do git que usa o mesmo arquivo de identidade no mesmo nome de host.
Eu carrego minhas configurações de SSH após o login, desta forma:
➜ ~ cat ~/init_ssh
#!/usr/bin/env bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa
Eu corro o script e respondo corretamente ao prompt de senha:
➜ ~ ~/init_ssh
Agent pid 11612
Enter passphrase for /home/username/.ssh/id_rsa:
Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)
Eu, então, executo git pull
ou git push
em um clone do repositório específico, e todas as vezes eu tenho que re-digitar minha senha SSH:
➜ repository_clone git:(master) git pull
Enter passphrase for key '/home/username/.ssh/id_rsa':
Already up-to-date.
➜ repository_clone git:(master) git pull
Enter passphrase for key '/home/username/.ssh/id_rsa':
Already up-to-date.
O nome do host tem um IdentityFile
configurado em ~/.ssh/config
Acontece que eu tenho o IdentityFile
para github.com
definido explicitamente para ~/.ssh/id_rsa
, no meu ~/.ssh/config
:
➜ repository_clone git:(master) cat ~/.ssh/config
Host github.com
IdentityFile ~/.ssh/id_rsa
Se eu remover a entrada de configuração SSH acima, ainda tenho o mesmo problema com a nova solicitação de senha perpétua.
As permissões dos arquivos estão corretas
Confirmei, entretanto, que todas as permissões dos diretórios ~
e ~/.ssh
e do arquivo ~/.ssh/id_rsa
são o que deveriam ser, de acordo com este guia :
➜ ~ ls -la ~ ~/.ssh ~/.ssh/id_rsa
-rw------- 1 username username 3326 Sep 21 16:53 /home/username/.ssh/id_rsa
/home/username:
total 220
drwxr-xr-x 13 username username 4096 Sep 27 17:11 .
drwxr-xr-x 24 root root 4096 Sep 21 16:09 ..
# [...]
/home/username/.ssh:
total 36
drwxr-xr-x 2 username username 4096 Sep 27 17:07 .
drwxr-xr-x 13 username username 4096 Sep 27 17:11 ..
-rw-r--r-- 1 username username 745 Sep 21 16:43 authorized_keys
-rw------- 1 username username 455 Sep 27 17:07 config
-rw------- 1 username username 3326 Sep 21 16:53 id_rsa
-rw-r--r-- 1 username username 744 Sep 21 16:53 id_rsa.pub
-rw-r--r-- 1 username username 3794 Sep 26 16:28 known_hosts
Estou totalmente perplexo! Alguém pode me apontar na direção certa? Obrigado!