Wie verhindert man, dass gpg-agent während der Passphrasenerfassung ein Zeitlimit überschreitet?

2116
rcampbell

Ich rufe gpg2in einem CLI-Skript zur symmetrischen Verschlüsselung einer lokalen Datei auf. Es scheint eine gpg-agentAufforderung zur Eingabe einer Passphrase über eine textbasierte CLI-Benutzeroberfläche zu geben. Solange ich in der Nähe bin, um die Passphrase einzugeben, funktioniert alles gut. Wenn ich nicht bin, schlägt diese Nachricht jedoch irgendwann fehl:

gpg-agent[15338]: command get_passphrase failed: Operation cancelled gpg: cancelled by user gpg: error creating passphrase: Operation cancelled gpg: symmetric encryption of `XXXX.tar' failed: Operation cancelled 

Gibt es eine Möglichkeit, dieses Timeout vollständig zu deaktivieren?

Ich möchte, dass die Eingabeaufforderung für die Passphrase so lange auf dem Bildschirm angezeigt wird, bis ich etwas eingebe.

4

2 Antworten auf die Frage

1
grawity

Versuchen Sie in gpg-agent.conf (siehe gpg-agent (1) ) die folgenden Optionen:

pinentry-timeout 0 pinentry-program /usr/bin/pinentry-curses --timeout 0 

(Vielleicht finden Sie pinentry-ttyetwas schöner zu verwenden.)

`gpg-agent [22779]: /Users/xxx/.gnupg/gpg-agent.conf:1: ungültige Option` rcampbell vor 7 Jahren 0
Ich hatte GnuPG 2.0.x installiert und `gpg-agent` unterstützte diese Optionen nicht. Ich habe ein Upgrade auf 2.1.x durchgeführt, das diese Optionen unterstützt. rcampbell vor 7 Jahren 0
1
Justin Ludwig

Was für mich funktionierte (gpg 2.1.11), war, die pinentry-timeoutOption auf einen großen Wert (z. B. 24 Stunden) zu setzen, indem Sie der ~/.gnupg/gpg-agent.confDatei Folgendes hinzufügen :

# time until pinentry closes in seconds pinentry-timeout 86400