Não é possível adicionar chaves ssh ao gnupg-agent anymore

6

Eu tinha várias chaves ssh antigas em ~/.gnupg/sshcontrol , então removi todas as linhas desse arquivo e reiniciei meu computador. Agora, não consigo mais adicionar chaves ssh ao agente gpg:

$ cat ~/.gnupg/gpg-agent.conf 
enable-ssh-support

$ gpg-connect-agent --verbose /bye
gpg-connect-agent: closing connection to agent

$ gpg-connect-agent updatestartuptty /bye
OK

$ ssh-add -l
The agent has no identities.

$ ssh-add ~/.ssh/id_rsa
Enter passphrase for /home/cassou/.ssh/id_rsa: 
Identity added: /home/cassou/.ssh/id_rsa (/home/cassou/.ssh/id_rsa)

$ ssh-add -l
The agent has no identities.
    
por Damien Cassou 28.02.2016 / 18:47

1 resposta

7

Eu tive o mesmo problema e foi assim que resolvi:

gpg-agent copia as chaves que você adiciona com ssh-add para um diretório especial em ~/.gnupg (especificamente ~/.gnupg/private-keys-v1.d com gpg2).

Parece, e eu realmente acho que isso deve ser reportado como um bug, que se a chave que você está tentando adicionar com o ssh-add já existir nesse diretório, ele não adicionará a chave em ~/.gnupg/sshcontrol , que por sua vez, significa que não será apresentado pelo gpg-agent. Executar grep -aoe "comment.*$" ~/.gnupg/private-keys-v1.d/* deve imprimir um comentário que (pelo menos para mim) correspondia a qual chave era qual.

Depois de remover a chave específica e tentar adicionar novamente, ela deve funcionar. Eu aconselharia a limpeza de todo o diretório, pois é também onde ele armazena as chaves gpg.

    
por 11.04.2016 / 23:46

Tags