Comment faire gpg trouver gpg-agent

23

Sur Fedora 22, gpg ne trouve pas gpg-agent:

% gpg-agent --daemon                                           

% gpg -vvv --use-agent --no-tty --decrypt file.gpg 
gpg: using character set `utf-8'
:pubkey enc packet: version 3, algo 1, keyid 3060B8F7271AFBAF
  data: [4094 bits]
gpg: public key is 271AFBAF
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: using subkey 271AFBAF instead of primary key 50EA64D5
gpg: gpg-agent is not available in this session
gpg: Sorry, no terminal at all requested - can't get input
Roman Cheplyaka
la source

Réponses:

36

L'examen des versions révèle le problème:

% gpg-agent --version
gpg-agent (GnuPG) 2.1.7

% gpg --version                                                               
gpg (GnuPG) 1.4.19

Les composants proviennent de différents packages ( gnupg2-2.1.7-1.fc22.x86_64et gnupg-1.4.19-2.fc22.x86_64dans mon cas). La solution consiste à utiliser la gpg2 commande au lieu de gpg.

Roman Cheplyaka
la source
1
Merci. j'ai passé 30 minutes sur Internet à essayer de comprendre ce genre de choses ... il s'avère que la plupart des documentations et des instructions ne prennent pas en compte la rupture entre les versions des outils. je devais taper ma phrase secrète pour chaque exécution de gpg sur 20 fichiers que je voulais signer, maintenant je peux le faire une seule fois. Merci encore.
don bright
cela est toujours d'actualité avec Fedora 27; l'utilisation gpg2permet également l'intégration des gnomes
Alex Gyoshev
8

Dans le cas où cela serait utile pour certains, gpg1.4 peut très bien fonctionner avec gpg-agent2.1.

En y regardant, j'ai trouvé ce post: https://lists.gnupg.org/pipermail/gnupg-devel/2014-October/029024.html

L'agent est compatible, mais n'exporte plus les variables d'environnement attendues par l'ancienne version de gpg. Si vous les définissez manuellement, cela fonctionnera simplement:

export GPG_AGENT_INFO=${HOME}/.gnupg/S.gpg-agent:0:1

Andrew Mulholland
la source
Fedora utilise un chemin de socket par défaut différent. J'ai dû utiliser à la GPG_AGENT_INFO=/run/user/$(id -u)/gnupg/S.gpg-agent:0:1place.
Pawel Veselov