使用ssh实现内网穿透,将本地服务暴露到公网

1,145 阅读1分钟

试想一种情景,我有一台具有公网IP的云服务器,现在我在本地计算机的2233端口运行了一个web服务,显然这个服务无法被局域网外的其他设备访问。要想被其他人访问,需要将服务打包部署到公网服务器上面。如果我不想部署,有没有其他方法实现呢?显然是有的,可以通过ssh将服务器的2233端口转发到本机的2233端口。这样就可以使用服务器IP:2233来访问本机的web服务了,从而实现外网访问。具体操作如下。

1.修改服务器的ssh配置文件

vim /etc/sshd_config

将#GatewayPorts no改为GatewayPorts yes,这一步至关重要!!! image.png 重启ssh服务

systemctl restart sshd.service

2.使用ssh连接远程服务器

ssh -R 2233:localhost:2233 用户名@服务器IP //-R是进行端口转发

3.在浏览器使用服务器IP:2233访问web服务

大功告成,这样就可以实现在外网访问本地服务了