web-dev-qa-db-fra.com

Comment configurer l'emplacement du socket S.gpg-agent de GnuPG?

GnuPG place son socket S.gpg-agent à ~/.gnupg/S.gpg-agent par défaut. Je n'ai trouvé aucun moyen de configurer l'emplacement de cette socket, ni semble-t-il qu'il existe une page de manuel de gpg.conf.

Arrière-plan: je souhaite créer un lien symbolique ~/.gnupg avec un montage OpenAFS ne prenant pas en charge les sockets (et évite de créer un lien symbolique pour chaque fichier dans ~/.gnupg (ce qui est une solution de contournement) au lieu de ~/.gnupg), c’est-à-dire trouver la solution la plus élégante imo.

2
Karl Richter

Depuis la version 2.1.1 de GnuPG, il existe une solution: placez un agent S.gpg-fichier texte simple dans gpg-homedir avec le contenu suivant:

%Assuan%
socket=/path/to/where/ever/you/want/S.gpg-agent

Il remplace certains événements comme ${HOME} ou ${HOSTNAME}

Soyez prudent lorsque vous utilisez un sous-répertoire de /tmp, car gpg-agent ne créera pas les répertoires nécessaires.

Autres lectures sur: https://dev.gnupg.org/T1752

3
ruhri

La solution de l'utilisateur ruhri ne fonctionnait pas pour nous sur nos systèmes stretch Debian. Au moins, nous avons dû ajouter plus de "redirections" de socket. Voici ce qui a fonctionné pour nous.

  1. Créez le fichier .gnupg/S.gpg-agent comme décrit par ruhri:

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent
    
  2. Ajoutez ces deux lignes à la fin de .gnupg/gpg-agent.conf (crée un fichier s'il n'existe pas déjà):

    extra-socket /srv/scratch/joeuser/S.gpg-agent.extra
    browser-socket /srv/scratch/joeuser/S.gpg-agent.browser
    
  3. Créez le fichier .gnupg/S.gpg-agent.ssh similaire au fichier .gnupg/S.gpg-agent:

    %Assuan%
    socket=/srv/scratch/joeuser/S.gpg-agent.ssh
    

(Cette solution provient d’un commentaire sur le message à l’adresse suivante: https://michaelheap.com/gpg-cant-connect-to-the-agent-ipc-connect-call-failed/ )

0
rlandster