Kann ich mein GPG-Passwort nur einmal eingeben und alle meine Unterschlüssel entsperren (Signieren, Entschlüsseln, Authentifizieren)?
Im Moment muss ich mein GPG-Passwort dreimal eingeben (zum Signieren, Entschlüsseln, zur Authentifizierung). Dies ist unpraktisch.
Ich habe versucht, ein Shell-Skript zu entwickeln.
#!/bin/bash
set -x
set -e
set +o history
signing_key=77BB3C48
encryption_key=CE998547
tempfile="$(mktemp)"
echo "test" > testfile
unset passphrase || exit 1
read -sp 'Enter password. ' passphrase ; echo
exec 3<<<"$passphrase"
gpg2 --no-tty --use-agent --batch --yes --passphrase-fd 3 --sign-with "$signing_key" --clearsign "$tempfile"
gpg2 --no-tty --use-agent --verify "$tempfile.asc"
gpg2 --no-tty --use-agent --yes --armor --recipient "$encryption_key" --encrypt "$tempfile"
exec 3<<<"$passphrase"
gpg2 --no-tty --use-agent --batch --decrypt --passphrase-fd 3 "$tempfile.asc"
Leider speichert das Passwort von gnupg-agent das Passwort nicht zwischen. Kann das behoben werden?
System Information:
- Wenn ich dieses Shell-Skript nicht verwende, habe ich keine Probleme mit gnupg-agent. Wenn ich eine Datei in der Shell manuell signiere / entschlüssele, fragt pinentry zweimal nach dem Kennwort und speichert es dann bis zum Neustart zwischen.
- Verwenden von Debian Wheezy.
- GPG-Version:
dpkg -l | grep gnupg
ii gnupg 1.4.12-7+deb7u3 i386 GNU privacy guard - a free PGP replacement
ii gnupg-agent 2.0.22-3 i386 GNU privacy guard - password agent
ii gnupg-curl 1.4.12-7+deb7u3 i386 GNU privacy guard - a free PGP replacement (cURL)
ii gnupg2 2.0.22-3 i386 GNU privacy guard - a free PGP replacement (new v2.x)
Ich habe vor einiger Zeit auf der Mailingliste von gnupg-users gefragt , aber keine Antwort.
Vielleicht würde diese Antwort funktionieren? Vielleicht gpg-connect-agent
ist erforderlich?
exec 3<<<"$passphrase"
war sogar für mich neu ... Und ich habe gerade ein Kopfgeld von 250 Wiederholungen auf die Antwort geworfen, die Sie zitieren.