我是一名开发人员,我通常使用我的GPG密钥签署Git提交。我已经成功在OSX上使得GPG Agent正常工作,只需要我每天输入密码一次,但是在Ubuntu 16.04上无法做到同样的效果。
这是我正在做的事情:
- 我已经设置好了我的GPG密钥/等。
- 我在一个Git目录中。
- 我将一些文件添加到Git中。
然后我去提交它们(
git commit
),并得到一个像这样的GPG密码请求:$ git ci 您需要输入密码来解锁用户“Randall Degges <r@rdegges.com>”的秘密密钥 4096位RSA密钥,ID为8F700DA2,创建于2016-04-05 [master 1740961] blah 1个文件已更改,插入了1行(+)
我想要做的是配置GPG代理程序,将我的密码缓存一整天,这样只需要输入一次。
我已经阅读了大量的文档和博客文章,目前为止,我尝试过以下方法...
首先,我修改了我的
~/.zshrc
文件(我使用zsh),设置了以下内容:# GPG Agent
export GPG_TTY=$(tty)
export GPGKEY=8F700DA2
现在,根据我所阅读的内容,仅仅重新启动gpg-agent是不够的,它并不能解决问题。
因此,接下来我做的事情是按照《man gpg-agent》页面上的说明,定义了一个~/.gnupg/gpg-agent.conf文件。
# 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
这也没有任何效果。
我也尝试了各种博客方法等,但似乎都没有起作用。有人能给我一些建议,告诉我可能遗漏了什么吗?
gpg --version
的结果是gpg (GnuPG) 2.2.19
。 - Daniel Kmak