gpg fragt nicht nach dem Passwort

13

Ich habe eine Datei mit verschlüsselt gpg -c <file>und das Terminal geschlossen. Nach einer Weile habe ich versucht, es mit zu entschlüsseln, gpg <file>und es hat es entschlüsselt, ohne nach einem Passwort zu fragen. Ist das normal? Wie kann ich garantieren, dass gpg auch auf demselben Computer nach einem Passwort fragt?

Pierre B.
quelle
Wie lange ist es her, dass Sie zu diesem Zeitpunkt zuletzt Ihr GnuPG-Passwort eingegeben haben? Das gpg-agentspeichert es standardmäßig für 10 Minuten (GnuPG 2.2).
Kusalananda
Lief der GPG-Agent? Wenn ja, hätte es die Anmeldeinformationen zwischengespeichert (habe dies gerade auf meinem Mac mit gpg-agent im Speicher getestet).
Petro

Antworten:

15

Dies ist normal und wird gpgjetzt gpg-agentzum Verwalten privater Schlüssel verwendet. Der Agent speichert Schlüssel für eine bestimmte Zeitspanne zwischen (standardmäßig bis zu zwei Stunden, mit einem Zeitlimit von zehn Minuten für Inaktivität).

Um die Standardeinstellungen zu ändern, erstellen oder bearbeiten Sie eine Datei mit dem Namen ~/.gnupg/gpg-agent.confund verwenden Sie die folgenden Einträge:

  • default-cache-ttl Gibt an, wie lange ein Cache-Eintrag nach seiner letzten Verwendung in Sekunden aufbewahrt wird (standardmäßig 600).
  • max-cache-ttl Gibt an, wie lange ein Cache-Eintrag maximal in Sekunden aufbewahrt wird (standardmäßig 7200).

Nachdem Sie diese geändert haben, müssen Sie die Konfiguration neu laden (versuchen Sie, sie SIGHUPzu senden gpg-agentoder sie sofort zu beenden).

Stephen Kitt
quelle
2

Um gpg> = 2.1 zu machen, fragen Sie immer nach einer Passphrase, führen Sie sie mit aus gpg --pinentry-mode loopback.

Um gpg> = 2.2.7 zu machen, fragen Sie immer nach einer Passphrase für --symmetric( -c) Verschlüsselung, führen Sie sie mit aus gpg --no-symkey-cache.

pts
quelle
0

Ist Ihr privater Schlüssel an ein Passwort gebunden? Dies ist etwas, das Sie zum Zeitpunkt der Schlüsselerstellung festlegen.

Wenn nicht, fragt GPG nicht nach einem Passwort, da keines erforderlich ist. Es hängt einfach von dem Schlüssel ab, den Sie bereitstellen.

Wenn dies der Fall ist, werden Sie von GPG erst nach einigen Minuten erneut nach diesem Passwort gefragt, wenn Sie Ihr Passwort während eines anderen Vorgangs eingegeben haben.

Shlublu
quelle
0

Einfach zusammenfassen ... Ich verwende diese einfache Funktion auf meinem .bashrc, damit ich jedes Mal, wenn ich das erneute Auffordern des Kennworts erzwingen möchte, dies einfach tun kann, indem ich einfach gpg-reloadvon meinem Terminal aus laufe, anstatt darauf zu warten, dass der Cache automatisch geleert wird:

 gpg-reload(){
     pkill scdaemon
     pkill gpg-agent
     gpg-connect-agent /bye >/dev/null 2>&1
     gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
     gpgconf --reload gpg-agent
 }

Ich hoffe es hilft!

Felipe Silveira
quelle
Es ist besser, gpgconf --kill allanstelle der kill -9Anrufe, die Sie haben, zu verwenden. Es ist nie eine gute Idee, sie zu verwenden kill -9, und wenn Sie wirklich etwas basierend auf seinem Namen signalisieren müssen, pkillwäre dies ein besseres Werkzeug.
Kusalananda
1
war sich der --kill allOption nicht bewusst , scheint auf gpgconf Version 2.0.22, die ich gerade verwende, diese Option ist nicht verfügbar .... In der Tat könnte "kill -9" ein bisschen unhöflich sein ... die Antwort auf zu aktualisieren benutze pkillwie vorgeschlagen, da es eine bessere Möglichkeit ist, damit umzugehen :-) Danke für die Eingabe!
Felipe Silveira
Wie wäre es einfach gpg-connect-agent reloadagent /bye?
wisbucky
0

GnuPG 2.2.15

  --symmetric
          -c  Encrypt with a symmetric cipher using a passphrase. The default sym-
          metric cipher used is AES-128, but may be chosen with the  --cipher-algo
          option.  This command may be combined with --sign (for a signed and sym-
          metrically encrypted message), --encrypt (for  a  message  that  may  be
          decrypted  via  a  secret  key or a passphrase), or --sign and --encrypt
          together (for a signed message that may be decrypted via a secret key or
          a  passphrase).  gpg caches the passphrase used for symmetric encryption
          so that a decrypt operation may not require that the user needs to enter
          the  passphrase.   The  option  --no-symkey-cache can be used to disable
          this feature.
# encrypt files
gpg -c --no-symkey-cache file.txt
# decrypt files
gpg --no-symkey-cache file.txt.gpg

Mit der Option --no-symkey-cache wird Ihr Kennwort nicht zwischengespeichert

anonym
quelle
@ Kusalananda ♦ Ich denke, meine Antwort "garantiere, dass GPG nach einem Passwort fragt", jedes Mal
anonym
Entschuldigung, ich habe die Tatsache übersehen, dass der Benutzer eine symmetrische Verschlüsselung durchführt.
Kusalananda
Beachten Sie, dass Sie gpg 2.2.7 oder höher benötigen .
wisbucky