J'utilise openssh7.5p1 et gnupg 2.1.21 sur arch linux (ce sont les versions par défaut fournies avec arch). Je voudrais utiliser gpg-agent
comme agent ssh. Je mets ce qui suit dans mon ~/.gnupg/gpg-agent.conf
:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch démarre automatiquement un gpg-agent à partir de systemd, donc je mets
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Lorsque je cours ssh-add -l
, il ne signale aucune identité et ps
signale un gpg-agent --supervised
processus comme je m'y attendais.
Malheureusement, lorsque je cours ssh-add
, quel que soit le type de clé, cela ne fonctionne pas. Voici un exemple de la façon dont j'ai essayé 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
Toutes les autres fonctions gpg fonctionnent correctement (cryptage / décryptage / signature). De plus, les clés que je génère fonctionnent correctement si je les utilise directement avec ssh, et elles fonctionnent correctement si ssh-agent
j'exécute le logiciel fourni avec openssh.
La documentation indique que cela ssh-add
devrait ajouter des clés ~/.gnupg/sshcontrol
, mais évidemment rien ne se passe.
Ma question: quel est le moyen le plus simple de charger une clé générée par openssh ssh-keygen
dans gpg-agent
, et quelqu'un peut-il couper et coller une session de terminal montrant comment cela fonctionne?