使用ssh进行Subversion验证

时间:2009-10-12 14:29:37

标签: svn authentication ssh

我们在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?我想我是,但我不确定我错过了哪一部分。

由于

2 个答案:

答案 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上查看此帖子: