使用ssh进行Subversion验证

Tig*_*ger 5 svn authentication ssh

我们在Linux上运行了一个Subversion服务器.我们已经习惯使用来自conf文件夹的passwd为subversion存储库验证未加密的密码.

我们尝试更改为使用ssh身份验证.我不知道如何使用ssh通过subversion进行身份验证.基于颠覆手册,如果我使用

svn checkout svn+ssh://serverIP/trunk/project
Run Code Online (Sandbox Code Playgroud)

我可以输入我的ssh密码并进行身份验证,但它确实显示出来了

svn: No repository found in 'svn+ssh://ServerIP/trunk/project'
Run Code Online (Sandbox Code Playgroud)

但是,当我使用'svn:// ServerIP/trunk/project'和基于conf文件夹的'passwd'的纯文本密码时,我可以查看项目源代码.

我想念ssh的东西吗?我想我是,但我不确定我错过了哪一部分.

谢谢

Joa*_*uer 6

svn+ssh:不只是使用SSH进行身份验证,而是通过SSH运行整个通信.这意味着您必须使用的路径是服务器上存储库的实际物理路径.

因此,如果在服务器上找到了您的存储库,/srv/svn/myrepo那么您想要签出的正确的完整URI就是svn+ssh://serverIP/srv/svn/myrepo/trunk/project.

另请注意,您需要为SVN用户设置受限shell,或者您将为他们提供对服务器的完全shell访问权限,这通常不是您想要做的.