我在 Debian Stretch 机器上使用 Subversion 客户端(版本 1.9.5 r1770682,从默认软件包存储库安装),我只有 SSH 访问权限。我正在通过 HTTPS 连接到 Subversion 存储库,并且希望避免每次执行svn up
orsvn ci
命令时都必须重新输入密码。我还想避免将密码作为明文存储在磁盘上。
SVN Book建议我应该能够使用 GPG-Agent 作为缓存密码的一种方式。尽管svn --version
报告说 GPG-Agent 身份验证凭据缓存应该可用,但我在让它工作时遇到了一些麻烦。
关于 GPG,我创建了一个 GPG 密钥对,已添加export GPG_TTY=$(tty)
到我的.profile
文件中,并通过加密和解密一段文本验证了 GPG 的工作原理。
关于 Subversion,在我的.subversion/config
文件中,我设置了以下内容:
$ grep '^[^#]' < .subversion/config
[auth]
password-stores = gpg-agent
[helpers]
[tunnels]
[miscellany]
[auto-props]
[working-copy]
在我的.subversion/servers
文件中,我设置了以下内容:
$ grep '^[^#]' < .subversion/servers
[groups]
[global]
store-passwords = yes
store-plaintext-passwords = no
但是,当我执行svn
命令时,不会缓存任何密码。有没有人对我可能做错了什么有任何建议?有没有人成功使用 GPG-Agent 来缓存 HTTPS 密码?(也许这个凭证缓存仅适用于 SVN+SSH 连接?)
任何帮助将不胜感激。