ssh是一个很强的东西,咱们能够利用他来实现代理、fq、内网穿透等不少东西。在这篇文章里,我会讲讲如何使用ssh来进行内网穿透。html
首先,看这篇文章可能须要一些基础知识,这是我推荐的几篇文章
最基础:
http://www.ruanyifeng.com/blo...
http://www.ruanyifeng.com/blo...
提高:
https://www.ibm.com/developer...
中文man文档(能够简单看一下):
http://www.cnblogs.com/nuke/a...linux
解决完这些就能够开始了^_^ubuntu
配置服务器安全
你须要在服务器上配置 GatewayPorts 使其能够正常工做(若是不配置这一项会致使你在以后运行的命令后会发现只有在服务器上才能够访问)服务器
编辑 sudo vi /etc/ssh/sshd_config
在最后一行添加 GatewayPorts yesssh
从新启动服务 sudo service sshd restart代理
在本地使用ssh命令
ssh -R 8000:192.168.1.190:8001 ubuntu@wonld.com -i .ssh/yourkey.pem -gCfNrest
其中8000表明的是在服务器(wonld.com)开放的端口,192.168.1.190:8001表明8000这个端口应该吧数据包传到哪里。用一句人话来讲,全部访问(有-g参数的时候)wonld.com:8000 都会经过这个ssh隧道传输到与你的电脑一个局域网内的192.168.1.190机器上的8001端口。ubuntu@wonld.com表明的就是你的服务器。最后四个参数分别是:-g 容许全部地址能够访问这个端口(须要在以前的步骤配置了 GatewayPorts),-C 表明压缩数据,-f 表明会在后台执行,-N 表明不执行远程命令,用于转发端口,-i 的话,后面跟着一个文件地址,表明这是公钥私钥认证的(推荐这样,更加安全)htm
最后,这个东西的用处?blog
在你开发的时候,想要让小伙伴们看见,可是讨厌部署麻烦;或者说在家里有一台强大的电脑能够用来搭建(minecraft)服务器,可是又没有公网地址。就可使用这种方式来进行。一个内网穿透,解决全部问题。并且,ssh的话更加通用一些(相比于一些服务商提供的内网穿透服务)。
就酱紫,审核员求经过啊,求经过。