内网穿透
1 功能
我有一个公网地址,想把本地服务通过公网地址暴露出来,供外部调用,方法如下:
2 说明
这个过程被称为反向 SSH 隧道或 SSH 远程端口转发。在这个过程中,你实际上是在本地机器 A 上建立了一个到云服务器 B 的 SSH 连接,并通过这个连接将云服务器 B 上的某个端口(例如 8080)转发到本地机器 A 的另一个端口(例如 80)。
在这个设置中,GatewayPorts yes 的配置是必要的,它允许从云服务器 B 的任何地址来的连接都能够连接到转发的端口(在这个例子中是 8080 端口)。
3 操作
在有公网 IP 的机器 B 上运行:
1 | vi /etc/ssh/sshd_config |
在本地机器 A 上运行:
1 | ssh -NTf -R 公网端口:本地机器IP:本地端口 用户名@公网机器IP |
如果想设置断开重连,用 autossh 替换 ssh
1 | $ apt-get install autossh |
其中 55555 端口监听连接的变化。只要断开就会进行重连,可以随意指定一个未被占用的端口。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.