使用场景举例
- 在家里的电脑用 putty 登录到公司内网的测试服务器
- 将内网的测试服务(如 HTTP/Git/Svn,只要是基于 TCP 的就行)提供到公网
场景二 还可以通过路由器端口映射转发来实现,但是不是每个人都能控制公司的路由器,没有固定 IP 也是一个麻烦事。另外还可以通过 ngrok 等工具来转发,ngrok 还是有点慢,没有公网服务器时是一个不错的选择。
部署条件
- 有一台公网服务器,如阿里云的ESC。
部署环境
- 公网阿里云 ESC,系统 Ubuntu16.04(假设IP:6.6.6.6)
- 公司内网虚拟机,系统 Ubuntu16.04 服务器(假设IP:192.168.1.88)
场景一
公司虚拟机运行命令
1
2让ESC监听2323端口,并且将该端口的数据转发到本地的22端口
ssh -gfnNTR 6.6.6.6:2323:localhost:22 root@6.6.6.6 -o ServerAliveInterval=300在家里的putty连接
6.6.6.6:2323
通过 ESC 的转发,连接到了公司的虚拟机。
场景二
公司虚拟机运行 nginx 监听80端口。
公司虚拟机运行命令
1
ssh -fNR 6868:localhost:80 root@6.6.6.6
在家里的电脑访问
http://6.6.6.6:6868
通过ESC的转发,可以访问到 nginx 的网页。