SSH内网穿透
对于内网服务器,如果我们想从外网访问,可以借助一台拥有外网IP的云服务器,通过建立SSH反向隧道来实现访问内网服务器。
SSH隧道
首先,修改云服务器的/etc/ssh/sshd_config
,在该文件的最后添加:
GatewayPorts yes
ClientAliveInterval 60
ClientAliveCountMax 3
然后重启云服务器的sshd服务使上述配置生效:
$ sudo systemctl restart sshd
如果不进行上述配置,将只有登录云服务器才可以外网访问内网服务器。
然后,内网服务器向云服务器主动建立SSH连接,并将内网服务器的22号端口转发到转发端口(任一空闲端口即可):
$ ssh -NR 转发端口:localhost:22 云服务器用户名@云服务器IP -p 云服务器SSH端口
注意,需要在云服务器的控制台配置允许转发端口的访问。
云服务器SSH端口默认是22号端口,如果你修改了SSH连接的默认端口号,需要使用-p
参数指明端口号,否则可以省略-p 云服务器SSH端口
。