在Windows 10与Ubuntu系统中持久记住GPG密钥密码的解决方案
在Windows 10与Ubuntu系统中持久记住GPG密钥密码的解决方案
嘿,我完全懂反复输入GPG密钥密码有多闹心——尤其是每次提交代码都要输一遍!针对你提到的Kleopatra UI更新后找不到缓存选项的问题,其实不用纠结它的界面,直接配置底层的gpg-agent就能搞定持久记住密码的需求,下面分系统给你详细步骤:
Windows 10 解决方案
因为新版Kleopatra已经把密码缓存的逻辑交给gpg-agent管理了,所以直接修改agent的配置文件最靠谱:
- 找到GnuPG的配置目录:打开文件资源管理器,输入
%APPDATA%\gnupg,回车进入 - 如果没有
gpg-agent.conf文件,就新建一个纯文本文件,重命名为这个名字(注意去掉.txt后缀) - 打开
gpg-agent.conf,添加以下两行配置:
这里的数值是秒数,31536000刚好是一年,你也可以根据自己的需求调整时长default-cache-ttl 31536000 max-cache-ttl 31536000 - 重启
gpg-agent:打开命令提示符(CMD)或者Git Bash,输入命令:
关闭后gpgconf --kill gpg-agentgpg-agent会自动重启,下次输入密钥密码后,就会缓存一整年啦
Ubuntu 解决方案
Ubuntu下同样是通过配置gpg-agent来实现,步骤类似:
- 打开终端,编辑
gpg-agent的配置文件:nano ~/.gnupg/gpg-agent.conf - 同样添加那两行缓存时长配置:
default-cache-ttl 31536000 max-cache-ttl 31536000 - 保存并退出(nano里按
Ctrl+O回车,再Ctrl+X),然后重启gpg-agent:gpgconf --kill gpg-agent - 额外提醒:如果你的Git操作经常在终端里进行,建议在
~/.bashrc或~/.zshrc(根据你用的shell)里添加一行:
添加后执行export GPG_TTY=$(tty)source ~/.bashrc(或对应的配置文件),确保终端能正确调用gpg-agent,避免出现找不到密码缓存的情况
简单来说,新版Kleopatra把密码缓存的控制权交给了更底层的gpg-agent,所以直接配置agent反而比找UI选项更灵活,也能彻底解决反复输密码的问题~
备注:内容来源于stack exchange,提问作者Lippiece
相关产品推荐
相关产品推荐

