之前使用autossh构建服务器通道,目前使用的公网服务器马上到期了,就打算切换到另一台服务器上。按照原有的方法执行,突然发现不能实现原有的结果了。
症状:
在公网服务器端,使用ssh -p xx localhost,可以访问到内网服务器,但其监听了127.0.0.1地址,并没有监听公网ip地址,导致不能使用公网ip进入内网。
sudo netstat -ntulp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:7088 0.0.0.0:* LISTEN 218636/sshd: wlx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 221459/sshd: /usr/s
开始还以为是云端的防火墙问题,但测试下来不是。
nmap server_public -p 7088
PORT STATE SERVICE
7088/tcp closed unknown
搜索后找到了答案:https://superuser.com/questions/1450567/ssh-tunnel-only-listens-on-127-0-0-1-on-remote-host
主要就一点:修改公网服务器的sshd_config文件,把GatewayPorts
改为yes,然后重启sshd服务:
sudo systemctl restart sshd
发表回复