2009-10-12 53 views
6

我們有一個在Linux上運行的Subversion服務器。我們已經使用subversion版本庫的conf文件夾中的passwd使用未加密的密碼對用戶進行身份驗證。使用ssh進行身份驗證的Subversion

我們試圖改變使用SSH認證。我不知道如何使用ssh通過顛覆進行身份驗證。基於顛覆手動,如果我使用

svn checkout svn+ssh://serverIP/trunk/project 

我可以輸入我的SSH密碼和驗證它,但它確實炫耀

svn: No repository found in 'svn+ssh://ServerIP/trunk/project' 

然而,當我使用「的svn://服務器IP /幹線/項目'與基於conf文件夾的'passwd'的純文本密碼,我可以查看項目源代碼。

我想念ssh嗎?我想我是,但我不確定我錯過了哪一部分。

感謝

+0

是否可以使用「svn + ssh:// ipaddress/full-path-repos/trunk/project」使用subeclipse(Subversion插件)? 我有錯誤消息(例外:無法驗證)從Eclipse。 – Tiger 2009-10-12 15:54:22

+0

我得到了答案: http://subclipse.tigris.org/wiki/PluginFAQ#head-214e1cef790ceb311232ec766435d62c7958ccb7 謝謝 – Tiger 2009-10-12 15:57:20

回答

7

svn+ssh:不只是使用SSH進行認證,而是通過運行SSH整個通信。這意味着您必須使用的路徑是服務器上存儲庫的實際物理路徑。

因此,如果您在/srv/svn/myrepo中找到服務器上的存儲庫,那麼您想檢出的正確的完整URI是svn+ssh://serverIP/srv/svn/myrepo/trunk/project

另外請注意,您需要爲您的SVN用戶設置受限制的shell,或者讓他們完全訪問您的服務器,這通常不是您想要的。