autossh介绍:
autossh 是一个用来启动 ssh 并进行监控的程序,可在需要时重启 ssh,如果程序问题或者是网络问题。其灵感和机制来自于 rstunnel (Reliable SSH Tunnel). autossh 1.2 的方法已经改变:autossh 使用 ssh 来构造一个 ssh 重定向循环(本地到远程和远程到本地),然后发送测试数据并获得返回结果。
内网主机主动连接到外网主机,又被称作反向连接(Reverse Connection),这样NAT路由/防火墙就会在内网主机和外网主机之间建立映射即可相互通信了。但这种映射是路由网关自动维持的,不会持续下去,如果连接断开或者网络不稳定都会导致通信失败,这时内网主机需要自动重连机制了。
安装:
yum install autossh
实例:
autossh -M 9090 -fCNR 18081:10.10.3.x:8080 root@x.x.x.x
autossh -M 9091 -fCNR 18082:10.10.3.x:80 root@x.x.x.x
autossh -M 9091 -fCNR 18083:127.0.0.1:80 root@x.x.x.x
这样将在‘x.x.x.x‘主机上开启一个本地侦听地址:18081,访问本地18081将转发至10.10.3.x:8080
-M 9090参数,负责通过9090端口监视连接状态,连接有问题时就会自动重连。
-M 是服务器echo机制使用的端口。
autossh -M 5678 -CqTfnN -D 192.168.0.2:7070 freeoa@remote-host
参数解释:
-M为autossh参数, -CqTfnN -D 为ssh参数
-M 5678 : 负责通过5678端口监视连接状态,连接有问题时就会自动重连
-C :启动数据压缩传输
-q :安静模式运行,忽略提示和错误
-T :不占用shell
-f :后台运行
-n :配合 -f 参数使用
-N :不执行远程命令,专为端口转发度身打造
-D 192.168.0.2:7070 :指定一个本地机器 “动态的“ 应用程序端口转发,如果不加IP地址,默认只监听127.0.0.1
使用场景:
场景:A是内网服务器192.168.1.10(内部多次nat,无法使用公网IP),B是内网用户转发代理服务器192.168.1.12,C是公网服务器x.x.x.x,D是用户PC
需求:D访问A内网服务器web 8080
方法:
1.B安装autossh
2.B执行autossh -M 9091 -fCNR 18080:192.168.1.10:8080 root@x.x.x.x
3.设置B可以无密码登陆C
4.D上打开putty,设置正向代理,点击Add,save保存,如图:
5.D上打开浏览器:http://127.0.0.1:18080 ,访问到内网A服务器web应用
本文出自 “未来时空” 博客,请务必保留此出处http://sjitwant.blog.51cto.com/3661219/1976409
原文:http://sjitwant.blog.51cto.com/3661219/1976409