使用 GnuPG 及其守护进程 gpg-agent

使用 GnuPG 及其守护进程 gpg-agent

我在构建软件包时使用它gpg-agent来记住并提供我的GnuPG密码Debian/Ubuntu。但我仍然不明白它是如何gpg-agent工作的。我调用gpg-agent如下:

eval $(gpg-agent --daemon)

有时它可以工作。但让我烦恼的是,有时它不起作用。也就是说,有时构建过程会要求我输入GnuPG一次密码,有时不输入,有时多次输入。这一切都发生在一个 bash 会话中,在我gpg-agent像以前一样调用之后。这次不要求输入密码并不能保证下次不会要求我输入密码。我仍然不明白为什么它gpg决定提示我输入密码,为什么不提示我输入密码。

你也遇到这种情况了吗?

谢谢

答案1

找到如何正确gpg-agent使用 http://tr.opensuse.org/SDB:Using_gpg-agent

之后,我的gpg-agent守护进程现在可以正确缓存我的GnuPG密码了。我的设置没有问题,只是我不知道如何测试我的GnuPG密码是否正确缓存。

现在,我这样做:

echo "test" | gpg -ase -r 0xMYKEYID | gpg

来自网站:“将 0xMYKEYID 替换为您的 GnuPG 密钥 ID。运行此命令时,代理应打开两次图形密码对话框:第一次用于签名或加密(gpg -ase)(gpg -ase),然后用于解密或签名检查(| gpg)。从现在开始,每次使用 GnuPG(无论是从命令行还是嵌入在图形程序中,如 KMail)时,gpg-agent 的密码都会自动传递(直到超时或图形界面关闭)。”

为了避免缓存过期,我现在设置了极长的超时期限:

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000

相关内容