(我使用kubuntu,但尝试保持平台独立的方法。)
欢迎提供概念说明或必要步骤。
我正在阅读文档,并尝试让gpg-agent工作一次,但每次尝试都需要重新启动,而且我并不真正理解它是如何工作的(只是剪切和粘贴代码)。
我想使用gpg-agent,这样我就可以在打开GNUS时不必每次输入.authinfo.gpg上的密码。
在深入了解问题之前,我想更多地了解这个过程。
- 在使用gpg-agent处理.authinfo.gpg之前,是否需要使用“gpg --gen-key”生成密钥?
- 对于我最小化使用gpg,是否需要配置涉及SSH的行?
- .authinfo.gpg是否需要放在某个钥匙串上?该钥匙串本身需要一个主密钥吗?
请纠正我对流程的想象。(是否需要缺失的密钥?)我很遗憾这里非常简略。
- 启动后,初始化会启动gpg守护进程,并进行其他相关设置。
- 当GNUS访问.authinfo.gpg时,它会与gpg-agent缓存某些内容。
以下是我考虑的一些细节。
设置了以下变量
GPG_AGENT_INFO ${HOME}/.gpg-agent-info
GPG_TTY $(TTY)
在
~/.gnupg/gpg.conf
文件中,我们需要查看 use-agent
。我将虚拟的 #default-key ********
注释掉,因为我认为它只在您有多个密钥时才需要使用。在
~/.gnupg/gpg-agent.conf
文件中,我们需要查看pinentry-program /usr/bin/pinentry-qt4
no-grab
default-cache-ttl 1800
(尽管
pinentry-qt4
可能会被其他版本所取代,例如pinentry-curses
。)
虽然可能会有一些冗余的内容,但我也看到了一些关于.bashrc
的指令,比如eval $(gpg-agent --daemon)
,或者
gpg-agent --daemon \
--write-env-file "${HOME}/.gpg-agent-info"
我已经省略了与SSH
相关的行,因为我认为现在不需要它。
我看到了一个故障排除命令。
echo "test" | gpg -ase -r 0xMYKEYID | gpg
但由于我不确定是否需要首先获得一个密钥,所以我没有进一步处理。
gpg
是GnuPG 1版本,不支持使用gpg-agent
。请改用gpg2
。 - Jens Erat(setq epg-gpg-program "/usr/bin/gpg2")
。看起来可以工作,谢谢! - Brady Trainor