转自 http://blog.chinaunix.net/uid-23504396-id-3236436.html
ssh -g -N -f -R 3690:127.0.0.1:3690 -p 22 serverip
外网想访问svn服务器只需要访问外网的serverip的3690即可
参数说明
-g 远端服务器允许外网访问隧道端口(不加-g的话在远端服务器只监听127.0.0.1:3690)
-f 后台执行
-N ssh无命令
-R 反向代理
-p 远端服务器端口
烦,要不是看到下面文章提到-g我还要在iptables上折腾半天
不过这文章最后说 “注:这个参数我在实践中似乎始终不起作用。”
这是因为服务器端有相关设置
修改sshd_config
GatewayPorts yes启用以后就OK了
还不行把
AllowAgentForwarding yes
AllowTcpForwarding yes
也弄上去
windows 用putty也可以反向代理3389之类端口
ssh-Tunnels里
Soures port填服务器监听端口
Distination 填本机内网IP:3389
选Remote
这样做在window7或者xp肯定是有问题的,因为这两个都是单用户系统
得把puppt.exe注册成服务器加上参数让他跑去后台才行,这个我就不知道能不能行了。
不过,如果你的windows和linux在同一局域网的话也可以很方便的靠linux机器来反向代理
ssh -g -N -f -R port:"windows server ip":3389 -p 22 serverip