Jai une ligne dans mon fichier gpg.conf qui indique use-agent.
Je comprends que cela fait référence à gpg-agent qui est un démon. La page de manuel indique que « gpg-agent est un démon pour gérer les clés secrètes (privées) indépendamment de tout protocole. Il est utilisé comme backend pour gpg et gpgsm ainsi que pour quelques autres utilitaires. »

Quelquun peut-il expliquer ce que cela signifie dans le contexte de gpg? Quel est lintérêt de gpg-agent?

Jai actuellement GPG 1.4.

  1. Comment puis-je savoir si lagent est en cours dexécution? Je ne sais même pas si gpg-agent est installé avec le package GPG 1.4 de base.
  2. Comment puis-je le démarrer, sil ne fonctionne pas?
  3. Comment puis-je larrêter, sil est en cours dexécution?

Réponse

Gpg-agent est un programme qui sexécute en arrière-plan (un démon ) et stocke les clés secrètes GPG en mémoire. Lorsquun processus GPG a besoin de la clé, il contacte le programme gpg-agent en cours dexécution via un socket et demande la clé. Si le processus dagent a la clé, il la fournit à gpg. Si ce nest pas le cas, il tente de charger la clé chiffrée à partir de votre trousseau de clés, et vous demande la phrase de passe de la clé. Une fois que lagent a obtenu la clé déchiffrée, il la transmet au processus gpg. En plus des clés GPG, Gpg-agent peut de la même manière stocker les clés SSH et les fournir aux processus SSH, comme le ssh-agent programme fourni avec SSH.

Le point principal de lutilisation dun agent clé est que vous n « avez pas besoin de taper votre phrase secrète chaque fois que vous utilisez votre clé. Lagent garde la clé en mémoire dune fois à lautre. GPG lui-même ne peut pas faire cela parce que le processus se termine une fois quil a terminé son travail.

Une autre chose quun agent clé peut faire est dautoriser GPG sexécutant sur une machine distante pour obtenir des clés dans lagent local ( qui peut les charger à partir dun fichier local et vous demander votre phrase secrète). Gpg-agent ne peut pas encore faire cela, cest une fonctionnalité prévue . SSH a un transfert dagent depuis très longtemps. (Cest une raison pour ne pas utilisez gpg-agent pour les clés SSH.)

GPG 1.x ou 2.0.x sait que lagent est en cours dexécution car la variable GPG_AGENT_INFO est définie. Cette variable contient lemplacement du socket pour communiquer avec lagent ainsi que lID de processus de lagent. GPG 2.1 place toujours le socket de lagent dans ~/.gnupg. GPG 2.x démarre toujours un agent processus sil ny en a pas.

Vous pouvez démarrer lagent simplement en exécutant gpg-agent. Si vous souhaitez conserver un processus dagent dans le cadre de votre session, vous pouvez remplacer linvocation de votre gestionnaire de session par gpg-agent my-session-manager; certaines distributions le configurent automatiquement. GPG démarrera automatiquement lagent et GPG 2.1 trouvera en outre un agent en cours dexécution sans avoir besoin dune variable denvironnement, vous navez donc pas besoin de le démarrer de cette façon à moins que vous nutilisiez une ancienne version de GPG ou que vous utilisiez lagent pour stocker dautres types de clés telles que SSH.

Vous pouvez envoyer à lagent commandes avec les gpg-connect-agent commande shell. Envoyez la commande kill à tuer le processus de lagent (ou lui envoyer un signal).

Gpg-agent est livré avec GPG lui-même. Certaines distributions le conditionnent séparément.

Commentaires

  • " Lorsquun processus GPG a besoin de la clé, il contacte le programme gpg-agent en cours dexécution via un socket et demande la clé. Si le processus dagent a la clé, il le fournit à gpg. " Légèrement trompeur. Lagent ne fournit pas de clé au processus client. orms actions à laide de la clé, au nom du processus client. (Le client fournit à lagent quelque chose à signer, chiffrer ou déchiffrer, et lagent le fait.) Lors de lutilisation dun agent, votre logiciel client SSH et GPG naccède jamais à la clé réelle.
  • " Gpg-agent ne peut ' pas encore le faire, cest une fonctionnalité prévue. SSH dispose dun transfert dagent depuis très longtemps. (Cest une raison pour ne pas utiliser gpg-agent pour les clés SSH.) " Pas tout à fait vrai. gpg-agent fonctionne très bien avec le transfert dagent SSH. Je lutilise tous les jours. Le client SSH gère le transfert, gpg-agent ny est pas vraiment impliqué. Ce qui nest pas pris en charge, cest que GPG lui-même parle à un agent à distance.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *