咸鱼

咸鱼是以盐腌渍后,晒干的鱼

0%

利用SSH进行内网穿透

使用场景举例
  1. 在家里的电脑用 putty 登录到公司内网的测试服务器
  2. 将内网的测试服务(如 HTTP/Git/Svn,只要是基于 TCP 的就行)提供到公网

场景二 还可以通过路由器端口映射转发来实现,但是不是每个人都能控制公司的路由器,没有固定 IP 也是一个麻烦事。另外还可以通过 ngrok 等工具来转发,ngrok 还是有点慢,没有公网服务器时是一个不错的选择。

部署条件
  1. 有一台公网服务器,如阿里云的ESC。
部署环境
  1. 公网阿里云 ESC,系统 Ubuntu16.04(假设IP:6.6.6.6)
  2. 公司内网虚拟机,系统 Ubuntu16.04 服务器(假设IP:192.168.1.88)
场景一
  1. 公司虚拟机运行命令

    1
    2
    # 让ESC监听2323端口,并且将该端口的数据转发到本地的22端口
    $ ssh -gfnNTR 6.6.6.6:2323:localhost:22 root@6.6.6.6 -o ServerAliveInterval=300
  2. 在家里的putty连接 6.6.6.6:2323

  3. 通过 ESC 的转发,连接到了公司的虚拟机。

场景二
  1. 公司虚拟机运行 nginx 监听80端口。

  2. 公司虚拟机运行命令

    1
    $ ssh -fNR 6868:localhost:80 root@6.6.6.6
  3. 在家里的电脑访问 http://6.6.6.6:6868

  4. 通过ESC的转发,可以访问到 nginx 的网页。

参考:实战 SSH 端口转发

参考:内网穿透神器:SSH端口转发