我可以告诉 gpg-agent 永远不要询问我密码吗?

我可以告诉 gpg-agent 永远不要询问我密码吗?

我每天都在使用远程 SVN 存储库,在 WSL2 上的 Ubuntu 20.04 上运行。但我不想每次更新或提交时都输入 SVN 服务器密码。因此我像这样启用了 GPG 密码存储:

$ cat ~/.subversion/config
[auth]
password-stores = gpg-agent
store-passwords = yes

我在 WSL 环境中像这样启动 gpg-agent:

# Start gpg-agent, if not running already
ps -ef | grep gpg-agent | grep -v grep > /dev/null || eval $(gpg-agent --daemon)
export GPG_TTY=$(tty)
export GPG_AGENT_INFO=`gpgconf --list-dirs agent-socket | tr -d '\n' && echo -n ::`

一切都很顺利,GPG 代理会记住我的 SVN 密码,每天早上我启动机器并第一次连接到 repo(通过 VS Code)时只会询问我一次。但是,我不希望它每天都询问我。有没有办法让 GPG 代理永远记住我的密码?

答案1

是的,有,但它只适用于 Linux 桌面环境,不适用于 WSL。

如果您使用该pinentry-gtk3软件包并且正在使用支持 libsecret 兼容 DBus 服务的桌面环境(例如 gnome-keyring),则可以通过选中该框来使用该服务保存密码。但是,由于 WSL 不会启动具有必需服务(或 DBus)的完整桌面环境,因此如果不进行大量自定义,实际上无法使用它。

您可以尝试寻找在其他地方保存密码的替代 pinentry 实现,但在 Debian 和 Ubuntu 中默认提供的实现中,我相信只有pinentry-gtk3能够保存密码。

相关内容