You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu服务器端口转发失败求助:外部无法访问SSH端口22

外网SSH访问端口关闭问题排查方案

一、本地/局域网层面验证

  • 确认SSH服务运行状态:在Ubuntu服务器执行 systemctl status sshd,确保输出显示active (running)。未启动则执行 systemctl start sshd 并设置开机自启 systemctl enable sshd。
  • 验证局域网SSH连通性:用局域网内另一台设备执行 ssh 你的用户名@192.168.0.101,确认能正常登录。若失败,检查/etc/ssh/sshd_config是否禁用密码登录(未配置密钥时)、是否限制登录IP段。
  • 核对防火墙规则:执行 ufw status verbose(使用ufw时)或 iptables -L -n(原生iptables时),确认存在允许tcp dpt:22的ALLOW规则。注意:若ufw处于禁用状态,需确保iptables无默认拒绝22端口的规则。

二、路由器端口转发配置校验

  • 确认DDNS绑定IP一致:登录TP-LINK后台查看WAN口公网IP,对比NO-IP控制台显示的IP。若不一致,检查路由器DDNS设置是否开启自动更新,或在服务器/路由器上重启NO-IP客户端触发更新。
  • 修正端口转发协议:SSH仅需TCP协议,在Virtual Server配置中,将协议改为TCP(而非TCP/UDP),外部/内部端口设为22,映射目标为192.168.0.101,确保状态为启用。
  • 排查路由器安全限制:确认未开启AP隔离或局域网访问限制,这类规则可能阻断端口转发的流量通路。
  • 尝试更换外部端口:部分ISP会封锁22这类常见端口,可将路由器外部端口改为非标准值(如2222),内部端口保留22,外网测试时用 ssh 你的用户名@你的NO-IP域名 -p 2222。

三、外网环境限制排查

  • 检查是否有运营商级NAT:若路由器WAN口IP为10.x.x.x、172.16-31.x.x、192.168.x.x这类私有IP,说明无公网IP,端口转发无效,需联系ISP申请公网IP,或使用内网穿透工具。
  • 换外网环境测试:用手机流量(避免连接家庭WiFi)直接尝试SSH连接,或执行 telnet 你的NO-IP域名 22 验证连通性,排除测试网络自身防火墙的干扰。
  • 确认域名解析正确性:执行 nslookup 你的NO-IP域名,检查返回IP是否与路由器WAN口公网IP一致,不一致则手动触发DDNS更新。

四、其他细节检查

  • 服务器静态IP配置:执行 ip route 确认默认网关指向路由器LAN IP(如192.168.0.1),DNS服务器配置正常。
  • 路由器WAN防火墙:检查TP-LINK的WAN口防火墙规则,确保未将22端口(或替换后的端口)加入黑名单。

内容的提问来源于stack exchange,提问作者Trippy 741

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:05:15