gpg démarrer gpg-agent sur demande?

13

La page de manuel des gpg-agentétats:

   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)

Cela, d'une part, me dit "qu'il n'y a aucune raison de le démarrer manuellement" et d'autre part, il me dit comment le démarrer manuellement. - Ai-je mal compris quelque chose ici?

Sur mon système, il semble que je doive définitivement le démarrer manuellement. Dans le cas contraire , par exemple se gpg-connect-agentplaint: can't connect to the agent: IPC connect call failed. - Dois-je configurer quoi que ce soit pour gpg-connect-agentdémarrer l'agent comme indiqué dans la page de manuel?


La page de manuel de gpg-connect-agentdit aussi:

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

Cependant, gpg-connect-agent --helpne répertorie pas cette option et la commande se plaint également si j'essaie de l'utiliser.

On dirait que la page de manuel décrit une commande différente, ou ai-je oublié quelque chose d'important?


Mon système est un Arch Linux actuel. (Même situation sur une autre boîte Debian.)

Détails demandés:

$ 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
la source
Quelle version de gpg-agent et gpg-connect-agent utilisez-vous?
Jenny D
1
Notez également qu'il existe d'autres démons de porte-clés gpg. Par exemple, gnome a le trousseau de clés gnome, qui gère les mots de passe gpg, ssh et généraux. Il est souvent préférable de les utiliser car un seul mot de passe peut les déverrouiller tous et ils peuvent être déverrouillés automatiquement lorsque vous vous connectez.
Patrick
J'ai ajouté des détails concrets ci-dessus. Je connais le démon gnome-keyring-daemon, mais je n'exécute pas gnome sur cette boîte. - La question est actuellement de savoir si gpg est capable de démarrer son propre démon à la demande ou non.
michas

Réponses:

5

C'est une mauvaise formulation dans la page de manuel. Je suppose que cela signifie: "Vous n'êtes pas obligé de démarrer gpg-agent manuellement." Cela a du sens car GnuPG 2.x nécessite gpg-agentalors qu'il est facultatif dans 1.x

Donc: "Il n'y a donc aucune raison de le démarrer manuellement" "... pour faire fonctionner les outils".

Mais: Si vous voulez que la fonction de mise en cache gpg-agentdoit alors s'exécuter en tant que démon et donc être démarrée avant les outils, c'est-à-dire manuellement ou à partir du ~/.xsessionfait que les outils recherchent la variable d'environnement GPG_AGENT_INFOafin de trouver la (droite) en cours d'exécution gpg-agent. Si les outils démarrent, gpg-agentpuis se gpg-agentferme à la sortie de l'outil.

gpg-connect-agent /byepeut être un vrai bug dans la page de manuel. AFAIK, il est utilisé pour tester s'il gpg-agentfonctionne mais pas pour le démarrer. Cela ne peut même pas fonctionner de cette façon car vous avez obligatoirement besoin du shell (plus précis: le processus parent des outils à démarrer) pour le paramétrage GPG_AGENT_INFO.

Hauke ​​Laging
la source