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

xpt*_*xpt 10 linux debian passwords ubuntu gnupg

我使用的是gpg-agent要记住,并提供我的GnuPG构建时的密码Debian/Ubuntu包。但我仍然对如何gpg-agent工作感到困惑。我调用gpg-agent为:

eval $(gpg-agent --daemon)
Run Code Online (Sandbox Code Playgroud)

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

你也有这种情况吗?

谢谢

xpt*_*xpt 8

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

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

现在,我这样做:

echo "test" | gpg -ase -r 0xMYKEYID | gpg
Run Code Online (Sandbox Code Playgroud)

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

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

$ cat ~/.gnupg/gpg-agent.conf
max-cache-ttl 60480000
default-cache-ttl 60480000
Run Code Online (Sandbox Code Playgroud)