Sto usando openssh7.5p1 e gnupg 2.1.21 su arch linux (queste sono le versioni predefinite fornite con arch). Vorrei usare gpg-agentcome agente SSH. Ho inserito quanto segue nel mio ~/.gnupg/gpg-agent.conf:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch avvia automaticamente un agente gpg da systemd, quindi ho impostato
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Quando corro ssh-add -l, non riporta identità e pssegnala un gpg-agent --supervisedprocesso come mi sarei aspettato.
Sfortunatamente, quando corro ssh-add, indipendentemente dal tipo di chiave, non funziona. Ecco un esempio di come ho provato dsa:
$ ssh-keygen -f testkey -t dsa -N ''
Generating public/private dsa key pair.
Your identification has been saved in testkey.
Your public key has been saved in testkey.pub.
$ ssh-add testkey
Could not add identity "testkey": agent refused operation
Tutte le altre funzioni di gpg funzionano correttamente (crittografia / decrittografia / firma). Inoltre, le chiavi che ho generato funzionano bene se le uso direttamente con ssh e funzionano correttamente se ssh-agenteseguo quella fornita con openssh.
La documentazione dice che ssh-adddovrebbe aggiungere le chiavi ~/.gnupg/sshcontrol, ma ovviamente non sta succedendo nulla.
La mia domanda: qual è il modo più semplice per caricare una chiave generata da openssh ssh-keygenin gpg-agent, e qualcuno può per favore tagliare e incollare una sessione terminale mostrando come funziona?