在工作中,我们设置了svn,这样当我打开到服务器的ssh隧道时,我就可以从localhost访问存储库,而不需要提示输入密码。(通过svn://localhost/ urls访问存储库)。使用TortoiseSVN和windows命令行svn一切正常,但我想使用cygwin svn。问题是cygwin svn一直在提示我输入密码,即使我给了它凭据,它也一直要求我输入密码。提示符看起来有点像http身份验证提示:身份验证领域存储库:
我会补充说我想要cygwin svn,因为我使用的是Emacs和psvn-mode的cygwin版本,因为emacs不喜欢windows svn的行尾。我不想切换到windows emacs,因为grep在那里不能很好地工作(波兰语字母之类的问题),而且我吃得太多了。
感谢你给我解决问题的建议,
发布于 2010-09-28 23:32:59
很可能cygwin svn客户端正在使用cygwin ssh二进制文件建立连接。TortoiseSVN和您拥有的其他命令行客户端使用的是其他ssh客户端,已经为其配置了某种形式的无密码身份验证(可能是一个公钥文件,可能带有密码短语和"pageant“ssh代理实现)。
最好的方法是为cygwin ssh客户端配置类似的无密码身份验证,方法是编辑~/.ssh/config和/或运行cygwin自己的ssh-agent来缓存您的密码短语。要查看ssh配置是否有效,请尝试运行ssh -v your.svn.server svnserve -t。如果输出以"( success“开头的行,那么svn应该可以正常工作。否则,您应该能够从打印的进度消息中诊断问题。
或者,通过设置SVN_SSH环境变量,您可以尝试让cygwin的svn使用与本机命令行客户端相同的ssh客户端。详情请参见the fine manual。
https://stackoverflow.com/questions/3811629
复制相似问题