2009-01-25 58 views
8

我有一個遠程服務器託管我的Subversion版本庫在非標準的ssh端口上。我想使用Eclipse的subclipse插件作爲我的客戶端來訪問SVN存儲庫。我可以通過使用svn + specialssh來訪問存儲庫:// ...其中specialssh是我的〜/ .subversion/config中的隧道配置文件設置。如何在Eclipse中設置ssh隧道的顛覆?

在subclipse中,我試圖輸入存儲庫的URL爲:svn + specialssh://但那不起作用。

+0

你確定Eclipse不能處理這樣的URI嗎? svn + specialssh://應該對它有效。 – Keltia 2009-01-25 23:28:33

+0

你真的在使用隧道嗎?或者問題只是ssh的非標準端口? – innaM 2009-01-26 12:41:24

回答

7

首先,我在我的隧道建立到我的倉庫,它生活在防火牆後面我的家庭網絡:

ssh -L 9000:10.5.128.5:3690 [email protected]<mypublicallyexposedaddress> 

10.5.128.5是我的存儲庫主機的內部地址。端口3690是svn收聽的地方。

然後在Eclipse中,我配置庫:

svn://localhost:9000/gwt 

而且你去那裏。這不是唯一的方法。我也使用了一種方法,Eclipse必須知道它是ssh,並且插件必須支持它,他們這樣做,但這種方法只是我個人的偏好。

第二個想法是,你不需要任何複雜的東西。嘗試:

svn+ssh://host:port/directory 
2

東西我以前做的是有一個shell腳本總結我到SSH訪問,是這樣的:

#!ssh1234.sh 
ssh -P 1234 $* 

而且我要告訴我的Eclipse插件SVN而不是使用「的ssh」該腳本,由設置SVN_SSH環境變量:

export SVN_SSH=$HOME/scripts/ssh1234.sh 
+0

你在哪裏告訴eclipse使用它而不是ssh? – MikeN 2009-01-25 23:26:17

5

SSH連接配置添加到您的〜/ .ssh/config文件:

Host svnserver 
    HostName your.real.hostname.here 
    Port 1234 
    User you 

如果然後指定 「svnserver」 在任何SSH/SVN + ssh配置的主機名, ssh應該能夠通過簡單地閱讀你的配置文件來解決所有問題。