2009-12-07 172 views
6

好的,我有一個SVN + SSH設置問題。SVN + SSH連接給錯誤210002,網絡連接意外關閉

我有SVN在Linux服務器上運行,並嘗試從運行Snow Leopard的Mac筆記本電腦進行連接。 XCode嘗試連接,但給出消息「錯誤210002,網絡連接意外關閉」。

沒有網上似乎解釋。我使用xcode與HTTP連接,並且它對所有存儲庫都能正常工作。

這裏是我的SVN vesrion:

svn, version 1.5.4 (r33841) 
compiled Aug 7 2009, 01:44:11 

Copyright (C) 2000-2008 CollabNet. 
Subversion is open source software, see http://subversion.tigris.org/ 
This product includes software developed by CollabNet (http://www.Collab.Net/). 

The following repository access (RA) modules are available: 

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
    - handles 'http' scheme 
    - handles 'https' scheme 
* ra_svn : Module for accessing a repository using the svn network protocol. 
    - with Cyrus SASL authentication 
    - handles 'svn' scheme 
* ra_local : Module for accessing a repository on local disk. 
    - handles 'file' scheme 

目前,我有它設置爲使用HTTP,這沒有問題的作品。

http://[email protected]/svn/project 

我可以使用用戶名和密碼的ssh服務器,並運行這些命令的

svn list file:///home/svn/project 

,我得到的是項目的內容的列表。所以,我不認爲這是一個權限問題。

服務器上的文件位於/ home/svn/project。

我試圖讓它在XCode中工作。無法使用路徑作爲/ home/svn/project或僅在/ svn/project中工作。

但是,從筆記本電腦,下面的命令執行列表信息如期望的那樣

svn list svn+ssh://[email protected]/home/svn/project 
[email protected]'s password: 
branches 
tags 
trunk 
Killed by signal 15. 

程序svnserve不會運行,但我與登錄用戶必須運行的能力。如果我確實以前景模式啓動它,它似乎沒有改變任何東西。

任何想法我失蹤。希望能夠運行svn + ssh並關閉http訪問權限。

乾杯!

編輯

對於一些詳細信息,我發現,這只是一個存儲庫。服務器上的所有其他存儲庫似乎都可以正確使用SVN + SSH。

它似乎是一個XCode錯誤,但我不知道。這是關於XCode如何讀取可能在計算機中緩存的SSH連接信息。

+0

在Ubuntu上,[這個線程] [1]幫助了我。 [1]:http://unix.stackexchange.com/questions/27143/how-to-configure-svn-ssh-with-ssh-on-non-standard-port – Gordak 2015-09-30 15:26:38

回答

1

即使在使用命令行的情況下,「被信號15致命」也是一種線索,即某些事情並不完全正確。我記得解決同樣的問題,但不記得確切的原因。我認爲這與我如何處理非標準ssh端口以及在本地計算機和遠程服務器上使用不同的用戶名有關。

你的svn主機是否有非標準的ssh端口和/或不同的用戶名?我從使用SVN_SSH變量切換到將端口設置爲在我的.ssh/config文件中設置正確的條目,該文件爲ssh連接設置了用戶名和端口。

Host example.com 
    User username 
    Port port 

雖然我不確定xcode是否尊重您的.ssh/config。

+0

就是這樣的。我沒有.ssh/config文件,但確實有.ssh/known_host文件。 我嘗試了一個不同的存儲庫,它通過http工作,但主機有www.example.com,而不僅僅是example.com,它在已知的主機文件中有一個單獨的條目。它給出了同樣的錯誤,但不知何故,我得到它將主機更改爲example.com。但是,即使其他存儲庫看到由信號15消息所殺的情況,它也能正常工作。 感謝您的回覆。我不知道問題是什麼,我想弄明白,但現在並不急。 – Michael 2009-12-09 14:07:20

4

要抑制「被信號15殺死」的信息,請設置SVN_SSH="ssh -q",如here所述。

+0

這是正確的,至少對於Mac OS X.我在〜/ .subversion/config中(在隧道節中)改變了:'ssh = $ SVN_SSH ssh -o ControlMaster = no' to'ssh = $ SVN_SSH ssh - q -o ControlMaster = no' – carlosayam 2012-02-01 23:51:19

1

您的服務器是否有防火牆,如果有,是否會限制SSH連接嘗試的次數,例如通過here所述的方法?我們遇到的問題與svn checkout的連接數下降完全相同,但不是svn ls,而不是svn+ssh://。我們調整了防火牆上的連接設置,使其更加寬鬆,允許每分鐘連接更多,並立即清除我們的問題。看起來SVN在某些操作過程中啓動連接非常積極,而對其他操作來說則不那麼重要。

+0

我會在網絡中遇到這個問題。路由器似乎沒有幫助。 我改爲使用https。 – Michael 2010-08-08 10:04:27

0

我有同樣的問題,「信號15殺死」,順便說一句。將主機,用戶和端口添加到.ssh/config未解決此問題。很長時間以來,至少我忽略了這個建議,但是它確實在OSX 10.5上工作(當然也是在10.6上,所以我們可以使用OSX 10.5/10.6)但我沒有)。在~/.subversion/config,我加

ssh = $SVN_SSH ssh -q -o ControlMaster=no 

圍繞線55(如果你仍然是新鮮的開箱即用,它可能有一個註釋掉線非常相似,這那裏)的地方。 -o ControlMaster=no涉及我擁有的另一個ssh設置,否則會完全破壞它。

0

下面是我如何解決這個問題(在Mac OS X上,但修復應該適用於任何客戶端)。

當您爲SSH服務器使用非標準端口(例如,假設爲12001)時,會出現此特定問題。

顯然,像這樣的一個命令行給出的端口地址時,SVN客戶端遇到語法錯誤:

svn list svn+ssh://[email protected]:12001/home/username/svn/myproject 

因此,要解決這個問題,你需要創建SSH客戶端配置文件,像這樣的:

cd ~ 
cd .ssh 
vi config (create a config file like the one that follows) 
:w 
:q 
位於 ~/.ssh/config

配置文件:

Host domain.com 
    User username 
    Port 12001 

然後,發出你的svn + ssh命令,未經口岸是這樣的:

svn list svn+ssh://[email protected]/home/username/svn/myproject 
1

無這裏給出的解決方案與svn+ssh的工作,但我可以連接,並通過https結帳:

$ svn checkout --username myusername https://scm.gforge.inria.fr/svn/concha 
相關問題