Ich verwende openssh7.5p1 und gnupg 2.1.21 unter Arch Linux (dies sind die Standardversionen, die mit Arch geliefert werden). Ich möchte gpg-agentals SSH-Agent verwenden. Ich habe folgendes in mein ~/.gnupg/gpg-agent.conf:
pinentry-program /usr/bin/pinentry-qt
enable-ssh-support
Arch startet automatisch einen GPG-Agenten von systemd, also setze ich
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/S.gpg-agent.ssh"
Wenn ich laufe ssh-add -l, werden keine Identitäten und a psgemeldetgpg-agent --supervised Prozess gemeldet, wie ich es erwarten würde.
Leider ssh-addfunktioniert es nicht , wenn ich laufe , egal welcher Schlüsseltyp. Hier ist ein Beispiel, wie ich dsa ausprobiert habe:
$ 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
Alle anderen GPG-Funktionen funktionieren ordnungsgemäß (Verschlüsseln / Entschlüsseln / Signieren). Außerdem funktionieren die von mir generierten Schlüssel einwandfrei, wenn ich sie direkt mit ssh verwende, und sie funktionieren ordnungsgemäß, wenn ich die ausführessh-agent mit openssh gelieferten ausführe.
Die Dokumentation besagt, dass ssh-addSchlüssel hinzugefügt werden sollten ~/.gnupg/sshcontrol, aber offensichtlich passiert nichts.
Meine Frage: Was ist der einfachste Weg , einen Schlüssel von OpenSSHs erzeugt laden ssh-keygenin gpg-agent, und kann jemand Schnitt gefallen und eine Terminalsitzung einfügen zeigt , wie das funktioniert?