2009-01-25 67 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应该能够通过简单地阅读你的配置文件来解决所有问题。