Google code上一次不一样的SVN checkout体验

gfwinterceptor

忍了很久了,一直想抽点时间帮忙把这个软件增强一下. 最近这个项目终于被死死的墙在外面了.废了好大劲儿才弄明白怎么通过ssh使用svn签出.

  • 本来想法很简单,svn支持http代理,但是手头没有直接能用的http代理.
  • 本来还以为,设置了系统的代理,svn就能直接被代理了呢,结果不像我想的那样…

通过SSH Tunnel使用SVN

原理很简单,就是通过一个能正常访问google服务器的”ssh服务器”做跳板来间接的访问google code.

ssh -L 9999:xxxx.googlecode.com:80 xxx@ssh.server.com

解释:

  • -L  建立”本地端口映射” (把本地的一个端口映射到远程某个服务器上的另一个端口)
  • 9999  是要使用的本地端口(随便选一个,只要不跟你机器上其他服务冲突就行)
  • xxxx.googlecode.com   是最终要访问的那个服务器名或者地址
  • 80  是最终要访问的那个服务器端口
  • 后面就是正常的ssh连接的内容了

通常这条命令需要用root权限执行(直接sudo就行了,  第一次提示输密码是sudo的密码, 第二次密码才是ssh服务器的密码)

登录成功!  (即 端口映射成功)

现在的网络状况: 所有发往本地9999端口的数据全都通过这个管道传送到xxxx.googlecode.com:80上去了.

还没完

由于googlecode的svn服务器需要域名来判断你访问的哪个库,所以直接用localhost不行.

那就简单办法:绑个host  添加一条:   127.0.0.1   gfwinterceptor.googlecode.com  就OK了.

参考:

另外一个可以参考的工具:   http://www.abgba.com/article/technology/ssh-tunnel-svn_up-openwr.html

总结常用的ssh_Tunnel软件(比较全):  http://ihipop.info/2011/07/2629.html

SSH Port Forwarding (SSH Tunneling) : http://www.linuxhorizon.ro/ssh-tunnel.html

Poor man’s VPN using PuTTY:  http://wiki.freaks-unidos.net/ssh-port-forwarding

tags:
posted in Web开发 by deemstone

Follow comments via the RSS Feed | 留下评论 | Trackback URL

Leave Your Comment

You must be logged in to post a comment.

 
Powered by Wordpress. Design by Bingo - The Web Design Experts.