Answers:
用户配置(中的~/.gnupg/gpg-agent.conf
)只能定义默认和最大缓存持续时间;它不能被禁用。
该default-cache-ttl
选项设置上一次GnuPG活动之后的超时时间(以秒为单位)(因此,如果您使用它,它将重置),该maximum-cache-ttl
选项设置输入密码后其缓存的时间跨度(以秒为单位)。的默认值为600秒(10分钟),默认值为default-cache-ttl
7200秒(2小时)maximum-cache-ttl
。
将其设置为一年左右-例如34560000秒(400天)-您应该可以:
default-cache-ttl 34560000
maximum-cache-ttl 34560000
但是要使此更改生效,您需要通过重新启动gpg-agent结束会话。
如果要限制会话长度,则需要在注销时终止守护程序。这在操作系统之间是非常不同的,因此我指的是另一个问题/答案,其中包含针对不同系统的提示。
您也可以gpg-agent
在登录期间重新启动,但这并不将缓存时间限制为会话长度,而是将用户登录。确定这是否是您的问题。
在GnuPG 2.1及更高版本中,该maximum-cache-ttl
选项已重命名为,max-cache-ttl
无需进行进一步更改。
gpg-agent
。
maximum-cache-ttl
选项不存在。要查看正确的选项,请参阅官方文档:gnupg.org/documentation/manuals/gnupg/…–
default-cache-ttl
值为600秒(10分钟),而不是两个小时。
gpg-agent
对于所有发行版,正确的值似乎是10分钟。我编辑了答案,谢谢您指出这一点。
您需要编辑的文件应放在以下位置: $env:AppData\gnupg
如果在PowerShell窗口中运行它,它将打开: C:\Users\<UserName>\AppData\Roaming\gnupg
只需将gpg-agent.conf
文件放置在您喜欢的任何位置即可。
您可以通过运行以下命令来验证它是否已使用:
gpgconf.exe --reload gpg-agent
gpgconf.exe --list-options gpg-agent
您也可以使用这种衬板:
Set-Content -Path $env:AppData\gnupg\gpg-agent.conf -Value "default-cache-ttl 86400$([System.Environment]::NewLine)max-cache-ttl 86400"
确保gpg-connect-agent reloadagent /bye
在更改配置后重新加载gpg代理。