为什么cygwin的svn要求输入密码?

时间:2010-09-28 10:02:12

标签: svn emacs ssh cygwin

在工作中我们有svn设置,这样当我有一个ssh隧道打开到服务器时,我可以从localhost访问存储库而不需要提示输入密码。 (通过svn:// localhost / urls访问存储库)。使用TortoiseSVN和Windows命令行svn一切正常,但我想使用cygwin svn。问题是cygwin svn不断提示我输入密码,即使在我提供了我的凭据之后它也会一直询问。该提示看起来有点像http身份验证提示:Authentication realm Repository:

我将补充说我想要cygwin svn,因为我正在使用cygwin构建的Emacs和psvn-mode,因为emacs不喜欢windows svn的行结尾。我不想切换到windows emacs,因为grep在那里不能很好地工作(波兰语字母等等问题)而且我很贪婪。

感谢您解决我的问题的任何提示,

1 个答案:

答案 0 :(得分:1)

cygwin svn客户端可能正在使用cygwin ssh二进制文件来建立连接。 TortoiseSVN和您拥有的其他命令行客户端正在使用其他ssh客户端,为此配置了某种形式的无密码身份验证(可能是公钥文件,可能带有密码短语和“pageant”ssh代理实现)。

实现此功能的最佳方法是为您的cygwin ssh客户端配置类似的无密码身份验证,方法是编辑~/.ssh/config和/或运行cygwin自己的ssh-agent来缓存您的密码。要查看您的ssh配置是否正常,请尝试运行ssh -v your.svn.server svnserve -t。如果输出以“(成功”)开头的行,那么svn应该可以正常工作。否则,您应该能够从打印的进度消息中诊断问题。

或者,您可以通过设置SVN_SSH环境变量,尝试让cygwin的svn使用本机命令行客户端使用的相同ssh客户端。有关详细信息,请参阅the fine manual