Sto usando openssh7.5p1 e gnupg 2.1.21 su arch linux (queste sono le versioni predefinite fornite con arch). Vorrei usare gpg-agent
come 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 ps
segnala un gpg-agent --supervised
processo 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-agent
eseguo quella fornita con openssh.
La documentazione dice che ssh-add
dovrebbe 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-keygen
in gpg-agent
, e qualcuno può per favore tagliare e incollare una sessione terminale mostrando come funziona?