【发布时间】:2018-07-01 13:57:49
【问题描述】:
我在 Debian Stretch 机器上使用 Subversion 客户端(版本 1.9.5 r1770682,从默认软件包存储库安装),我只有 SSH 访问权限。我正在通过 HTTPS 连接到 Subversion 存储库,并且希望避免每次执行 svn up 或 svn 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 连接?)
任何帮助将不胜感激。
【问题讨论】: