我是一名开发人员,通常使用GPG密钥在Git提交上签名。我已经能够使GPG代理在OSX上正常工作,因此它每天只询问我一次密码,但是在Ubuntu 16.04上运行相同的东西时遇到了问题。
这是我在做什么:
- 我已经设置了GPG密钥/等等。
- 我在Git目录中。
- 我向Git添加了一些文件。
然后,我将其提交给(
git commit
),并获得一个如下所示的GPG密码请求:$ git ci You need a passphrase to unlock the secret key for user: "Randall Degges <r@rdegges.com>" 4096-bit RSA key, ID 8F700DA2, created 2016-04-05 [master 1740961] blah 1 file changed, 1 insertion(+)
问题是:每执行一次提交,都会再次提示我输入GPG密码。
我想做的是将GPG代理配置为将我的密码缓存一整天,因此只需要输入一次即可。
我已经阅读了大量的文档和博客文章,这是到目前为止我已经尝试过的内容...
首先,我修改了~/.zshrc
文件(使用zsh)以设置以下内容:
# GPG Agent
export GPG_TTY=$(tty)
export GPGKEY=8F700DA2
现在,从我阅读的内容来看,重新启动gpg-agent之后,仅此一项就可以解决问题,但事实并非如此。
因此,我要做的下一件事是按照页面中的~/.gnupg/gpg-agent.conf
说明定义了一个文件man gpg-agent
:
# Set the default cache time to 1 day.
default-cache-ttl 86400
default-cache-ttl-ssh 86400
# Set the max cache time to 30 days.
max-cache-ttl 2592000
max-cache-ttl-ssh 2592000
这也没有效果。
我也尝试了各种博客方法等,但是似乎没有任何效果。有人可以给我一些我可能会缺少的东西的指示吗?