ssh-agent
ist sehr einfach zu bedienen, ich starte es und füge Schlüssel mit ssh-add keyfile
. Nach dem Beenden des Vorgangs ssh-agent
sind alle Dateien verschwunden.
Wie kann ich das gleiche Verhalten mit bekommen gpg-agent
? Das nächste Programm, das ich gefunden habe, war gpg-preset-passphrase
. Auf der Handbuchseite vongpg-agent
scheint jedoch ein Verzeichnis zum Speichern privater Schlüssel erstellt worden zu sein.
Ich könnte mich irren, also frage ich mich, wie ich so einrichten kann gpg-agent
, dass keine Dateien / Verzeichnisse erstellt werden? Wenn es nicht möglich ist, wären auch andere Vorschläge für gpg-agent
Arbeiten wie ssh-agent
+ ssh-add
willkommen. Ich suche keine GUI-Lösungen wie Seahorse.
gpg-connect-agent
?gpg-preset-passphrase
. Ich liefgpg-connect-agent
, bekam eine Shell und ausgeführt,setkey IDOFMYPRIVATEKEYHERE
gefolgt vonpreset_passphrase
und ID führte zu "ERR 67108924 Nicht unterstützte <GPG-Agent> - keine --allow-Preset-Passphrase"Antworten:
Ich habe beschlossen, mir das noch einmal anzuschauen und herauszufinden, wie es funktioniert. GPG verwendet die Terminologie "Cache" zum Speichern von Passwörtern. Für die maximale Speicherzeit können zwei Einschränkungen festgelegt werden:
Darüber hinaus gibt es zwei Varianten für beide Einschränkungen, eine für GPG-Schlüssel und eine für SSH-Schlüssel (sofern die Unterstützung aktiviert war).
Die entsprechenden Handbuchseiteneinträge von
gpg-agent(1)
:Passphrasen werden immer zwischengespeichert (im Speicher, nicht auf der Festplatte! Verifiziert mit einem Git-Repo von
$HOME
), sodass dies nicht explizit erforderlich istssh-add
. Wenn Sie beispielsweise Dummy-Daten signieren, wird der Cache bereits ausgelöst:Um die Cache-Einstellungen von gpg-agent dauerhaft zu ändern, bearbeiten Sie ~ / .gnupg / gpg-agent.conf` und fügen Sie Folgendes hinzu:
Ich habe versucht, die SSH-Agentenunterstützung durch Angabe von zu aktivieren
enable-ssh-support
, aber dies veranlasst den gpg-Agenten, Sie nach einem anderen Schlüssel zum Verschlüsseln des Schlüssels zu fragen, und speichert dann Ihren privaten Schlüssel in~/.gnupg/private-keys.d/
. Ich werde mich dann an einen dualen Ansatz von ssh-agent / gpg-agent halten.Einige Bonus-Tipps:
max-cache-ttl-ssh
kann beim Hinzufügen des Schlüssels angegeben werden. Beispiel:ssh-add -t 600 ~/.ssh/id_rsa
Deaktivieren Sie den Agenten, um das Speichern der GPG-Passphrase im Agenten zu verhindern. In neueren GPG-Versionen wird die Option
--no-use-agent
ignoriert. Sie können jedoch die Verwendung des Agenten verhindern, indem Sie die zugehörige Umgebungsvariable löschen. Einige Möglichkeiten, dies zu tun:quelle
gpg-agent
aktiv ist? (Prozessliste überprüfen, z. B. mitps u -C gpg-agent
). Ist das Cache-Timeout richtig eingestellt? Wenn Sie es zum Signieren verwenden (im Gegensatz zur (SSH) -Authentifizierung), ist dieignore-cache-for-signing
Option deaktiviert?