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-agentcomme 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 pssignale un gpg-agent --supervisedprocessus 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-agentj'exécute le logiciel fourni avec openssh.
La documentation indique que cela ssh-adddevrait 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-keygendans gpg-agent, et quelqu'un peut-il couper et coller une session de terminal montrant comment cela fonctionne?