tlu*_*ter 10 svn ssh tunneling
为了工作,我在一个封闭的网络中工作.我们设置了一些IP地址,只能从我们的网络内部访问.但是,有一个框可以通过SSH连接到隧道并通过我们各自的开发人员框.
我知道我可以通过使用-Lssh 的参数从我们的开发人员框中获取流量.我想知道是否有一种方法可以穿过我们的开箱,进入一个封闭的盒子我们的Subversion(SVN)存储库存储了吗?
My computer --> Open box --> Developer boxes/SVN repository
Run Code Online (Sandbox Code Playgroud)
我不能ssh进入SVN框,但是有没有办法像代理一样使用ssh来访问私有的Subversion框?
更新:
1.1.1.1 - > Open Box 1.1.1.2 - > SVN Box
我穿过打开的盒子后,我可以通过SSH进入SVN盒子:
ssh user1@1.1.1.1
ssh user2@1.1.1.2
Run Code Online (Sandbox Code Playgroud)
这将允许我访问SVN框.我想,ssh进入打开的盒子,SVN盒的本地前向端口22到我的端口22.这样
ssh user1@1.1.1.1 -L 22:1.1.1.2:22
Run Code Online (Sandbox Code Playgroud)
然后在命令行中使用SVN:
svn co svn+ssh://user2@localhost/path
Run Code Online (Sandbox Code Playgroud)
这回来了
svn:网络连接意外关闭
为什么会这样?svn + ssh是否使用了我不知道的另一个端口?
是的,你应该能够隧道.我不确定你在工作时是否使用类似这样的svn co http://.....东西连接到SVNsvn checkout svn://......
我想你想隧道到端口80(如果使用over http),端口443(如果使用https)和端口3690,如果你只使用svn(不使用apache).所以你的命令看起来应该是这样的
ssh -f user@publicly.accessible.server.com -L 3690:your.internal.svn.server:3690 -N
Run Code Online (Sandbox Code Playgroud)
然后你应该能够从localhost检出/ commit/update/etc,就像你的localhost是svn服务器一样.
-f使它变为后台,因此当你想要的只是隧道时,你看不到终端卡在公共服务器shell提示符下.-N表示不执行远程命令.