gpg gpg-agent on demand starten?

13

Die Manpage von gpg-agentStaaten:

   The agent is usualy started on demand by gpg,  gpgsm,  gpgconf  or
   gpg-connect-agent.   Thus there is no reason to start it manually.
   In case you want to use the included Secure Shell  Agent  you  may
   start the agent using:

     gpg-connect-agent /bye

   The usual way to run the agent is from the ~/.xsession file:

     eval $(gpg-agent --daemon)

Dies sagt mir zum einen, dass "es keinen Grund gibt, es manuell zu starten" und zum anderen, wie ich es manuell starten soll. - Habe ich hier etwas falsch verstanden?

Auf meinem System muss ich es definitiv manuell starten. Ansonsten zum Beispiel gpg-connect-agentbeklagt: can't connect to the agent: IPC connect call failed. - Muss ich etwas konfigurieren, damit gpg-connect-agentder Agent wie in der Manpage angegeben gestartet wird?


Auch die Manpage von gpg-connect-agentsagt:

   --agent-program file
          Specify the agent program to be started if none is running.

Diese gpg-connect-agent --helpOption wird jedoch nicht aufgeführt, und der Befehl beschwert sich auch, wenn ich versuche, sie zu verwenden.

Scheint, als würde die Manpage einen anderen Befehl beschreiben, oder habe ich etwas Wichtiges übersehen?


Mein System ist ein aktuelles Arch Linux. (Gleiche Situation auf einer anderen Debian-Box.)

Gewünschte Details:

$ gpg --version
gpg (GnuPG) 2.0.22
libgcrypt 1.5.3
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, ELG, DSA, ?, ?
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
$ gpg-connect-agent --version
gpg-connect-agent (GnuPG) 2.0.22
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
$ man gpg-connect-agent |grep -A1 agent-program
       --agent-program file
              Specify the agent program to be started if none is running.
$ gpg-connect-agent --agent-program foo
gpg-connect-agent: invalid option "--agent-program"
$ gpg-connect-agent /bye
gpg-connect-agent: can't connect to the agent: IPC connect call failed
michas
quelle
Welche Version von gpg-agent und gpg-connect-agent verwenden Sie?
Jenny D
1
Beachten Sie auch, dass es andere gpg-Schlüsselring-Daemons gibt. Zum Beispiel hat gnome den gnome-Schlüsselring, der gpg-, ssh- und allgemeine Passwörter verwaltet. Diese sind oft viel besser zu bearbeiten, da Sie sie alle mit einem Passwort entsperren und sie automatisch entsperren können, wenn Sie sich anmelden.
Patrick
Ich habe oben konkrete Details hinzugefügt. Ich kenne den Gnome-Keyring-Daemon, aber auf dieser Box starte ich keinen Gnome. - Derzeit stellt sich die Frage, ob gpg bei Bedarf einen eigenen Daemon starten kann oder nicht.
Michas

Antworten:

5

Das ist eine schlechte Formulierung in der Manpage. Ich denke, es ist gemeint als: "Sie sind nicht gezwungen, gpg-agent manuell zu starten." Dies ist sinnvoll, da GnuPG 2.x dies erfordert, gpg-agentwährend es in 1.x optional ist

Also: "Es gibt also keinen Grund, es manuell zu starten" "... um die Werkzeuge zum Laufen zu bringen".

Aber: Wenn Sie das Caching-Feature wollen, gpg-agentmüssen Sie es als Daemon ausführen und damit vor den Tools starten, dh manuell oder von ~/.xsessionda aus, weil die Tools nach der Umgebungsvariablen suchen GPG_AGENT_INFO, um die (richtige) Ausführung zu finden gpg-agent. Wenn die Werkzeuge starten, gpg-agentwird sie beim gpg-agentBeenden des Werkzeugs beendet.

gpg-connect-agent /byekann ein echter Fehler in der Manpage sein. AFAIK wird verwendet, um zu testen, ob gpg-agentläuft, aber nicht, um es zu starten. Es kann nicht einmal so funktionieren, da Sie die Shell (genauer: den übergeordneten Prozess für die zu startenden Tools) zum Festlegen zwingend benötigen GPG_AGENT_INFO.

Hauke ​​Laging
quelle