如何使gpg找到gpg-agent


23

在Fedora 22上,gpg找不到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

Answers:


36

查看版本会发现问题所在:

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

% gpg --version                                                               
gpg (GnuPG) 1.4.19

该成分来自不同的包(gnupg2-2.1.7-1.fc22.x86_64gnupg-1.4.19-2.fc22.x86_64在我的情况)。解决方案是使用gpg2 命令而不是gpg


1
谢谢。我花了30分钟在互联网上试图找出这些东西...事实证明,大多数文档和说明都没有考虑到工具版本之间的损坏。我要在要签名的20个文件中每次运行gpg时都要输入密码,现在我只需要输入一次即可。再次感谢。
唐明亮

这仍然与Fedora 27有关;使用gpg2还可以启用gnome集成
Alex Gyoshev,

8

如果它对某些人有用,则gpg1.4可以与gpg-agent2.1 一起正常工作。

在调查时,我发现了这篇文章:https : //lists.gnupg.org/pipermail/gnupg-devel/2014-October/029024.html

该代理是兼容的,但不再导出旧版gpg期望的环境变量。如果您手动设置这些设置,它将可以正常工作:

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


Fedora使用不同的默认套接字路径。我不得不使用GPG_AGENT_INFO=/run/user/$(id -u)/gnupg/S.gpg-agent:0:1
Pawel Veselov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.