我们在Linux上运行Subversion服务器。我们已经习惯使用来自conf文件夹的passwd为subversion存储库验证未加密的密码。
我们尝试更改为使用ssh身份验证。我不知道如何使用ssh通过subversion进行身份验证。基于颠覆手册,如果我使用
svn checkout svn+ssh://serverIP/trunk/project
我可以输入我的ssh密码并进行身份验证,但确实显示了
svn: No repository found in 'svn+ssh://ServerIP/trunk/project'
然而,当我使用基于conf文件夹的'passwd'的纯文本密码'svn:// ServerIP / trunk / project'时,我可以查看项目源代码。
我是否想念ssh?我想我是,但我不确定我错过了哪一部分。
由于
答案 0 :(得分:6)
svn+ssh:
不只是使用SSH进行身份验证,而是通过SSH运行整个通信。这意味着您必须使用的路径是服务器上存储库的实际物理路径。
因此,如果您在/srv/svn/myrepo
找到服务器上的存储库,那么您想要签出的正确完整URI是svn+ssh://serverIP/srv/svn/myrepo/trunk/project
。
另请注意,您需要为SVN用户设置受限制的shell,或者您将为他们提供对服务器的完全shell访问权限,这通常不是您想要做的。
答案 1 :(得分:3)
通常,svn存储库可以在这里找到:
svn://www.mysite.com/repo_name
...和svn在ssh存储库这里:
svn+ssh://www.mysite.com/path-to-repos/repo_name
请在serverfault.com上查看此帖子: