2010-09-28 74 views
1

在工作中,我们有svn安装程序,这样当我有一个ssh隧道向服务器开放时,我可以从本地主机访问存储库,而不需要提示输入密码。 (这些存储库通过svn:// localhost/url来访问)。一切工作正常与TortoiseSVN和Windows命令行svn,但我想使用cygwin svn。问题是,cygwin svn不停地提示我输入密码,并且即使在我将凭据提供给它后,它也会一直询问。该提示看起来就像一个HTTP身份验证提示:身份验证领域知识库:为什么cygwin的svn要求输入密码?

我会补充说我想cygwin svn,因为我使用cygwin构建的Emacs和psvn模式,因为emacs不喜欢行窗户svn的结局。我不想切换到Windows emacs,因为grep在那里工作不好(波兰语字母等问题),我非常喜欢。

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

回答

1

大概cygwin的svn客户端使用一个cygwin的ssh二进制文件进行连接。 TortoiseSVN和其他命令行客户端正在使用其他一些ssh客户端,为此已配置了某种形式的无密码身份验证(可能是公钥文件,可能带有密码以及“pageant”ssh代理实现)。

最好的方法是通过编辑~/.ssh/config和/或运行cygwin自己的ssh-agent缓存您的密码短语,为您的cygwin ssh客户端配置类似的无密码身份验证。要查看您的ssh配置是否正常工作,请尝试运行ssh -v your.svn.server svnserve -t。如果输出以“(success)”开头的行,那么svn应该可以正常工作,否则,你应该能够从打印的进度信息中诊断问题。你的本地命令行客户端使用的同一个ssh客户端,通过设置SVN_SSH环境变量,详见the fine manual

+0

实际上我打开的隧道是通过cygwin ssh,所以它不是ssh客户端的问题。因为我使用的是普通的svn而不是svn + ssh,所以我没有使用密码缓存,因为我设置了一个通道,然后所有的存储库都可以在svn:// localhost/下得到任何想法?谢谢你的回答:) – jondro 2010-09-29 07:58:41

+0

啊,我w假设svn + ssh://。对于svn://我没有任何想法,除了可以检查cygwin使用的〜/ .subversion/config文件与本地svn客户端使用的文件(可能位于%APPDATA%下的某个文件)之间的区别之外, 。 – slowdog 2010-09-29 13:14:02

相关问题