【发布时间】:2011-10-22 18:27:53
【问题描述】:
ETA:原来我可能弄错了。
Collabnet SVN 不使用ssh-agent,而是使用gnome-keyring(或kwallet,或其他特定于平台的密钥环)存储其客户端证书凭据。反过来,这会导致 Git 中的 longstanding open bug 不会尝试使用一些可用的各种 Subversion 授权提供程序。这是all over 的问题,我什至不确定谁将负责修复它。所以现在,这不是一个 SO 问题。
我正在使用 git-svn 来处理通过 HTTPS 使用客户端证书身份验证的 subversion repo。我已经正确设置了 SVN 以使用证书,当我进行远程操作时,命令行 svn 总是提示输入我的证书密码(因为我永远无法弄清楚如何让它使用 ssh-agent 来访问凭据)。
现在我使用的是 git-svn,远程操作(如git-svn fetch)每次仍然提示输入密码,但这次使用标题为“OpenSSH”的 X 对话框,与 ssh-agent 对话框相同我每天第一次登录时都会收到。所以看起来 git-svn 正在尝试使用 ssh-agent (耶!)但由于某种原因无法访问在会话级别运行的那个(嘘!),因此需要启动它自己的......每次调用 git-svn。
我是否遗漏了什么可以让我“指向”正在运行的代理的 git-svn,从而避免每次我想获取时都输入密码?
【问题讨论】:
-
您使用的是什么操作系统?什么代理?
-
RHEL 5.6。也许我对此知之甚少,但我只是在我的会话文件中运行
/usr/bin/ssh-agent,它(正如我在帖子中所说)在登录时弹出我的证书密码提示,然后让我 SSH 为经常在没有提示的情况下进行。