SSH 无法通过公共 IP 连接但端口已打开

SSH 无法通过公共 IP 连接但端口已打开

服务器:Ubuntu 22.04 LTS

可以通过以下方式访问 SSH:

  1. 使用 localhost 的服务器ssh user@localhost
  2. 使用私有IP的服务器ssh [email protected]
  3. 局域网中使用私有 IP 的客户端(Android)ssh [email protected]
  4. 客户端(android)在 LAN 之外使用公共 IPssh [email protected]

SSH 无法通过以下方式访问:

  1. 局域网中使用私有 IP 的客户端(Windows 10)ssh [email protected]
  2. 使用公网 IP 的服务器ssh [email protected]
  3. 局域网中使用公网 IP 的客户端(Android)ssh [email protected]
  4. 客户端(android)在 LAN 之外使用公共 IPssh [email protected]

端口相关配置

  1. 防火墙sudo ufw enablesudo ufw allow ssh
  2. 路由器端口转发
  3. 默认sshd_config

验证端口 22 已打开

  1. sudo ufw status
  2. YouGetSignal 端口转发测试器
  3. 端口检查工具

笔记

LAN 中的客户端 (Windows 10) 无法连接到服务器 SSH,即使 LAN 中的客户端 (Android) 可以。这可能相关也可能不相关,但我的目的是使服务器 SSH 可以通过互联网从任何设备访问。

用户@公司:~$ ssh -vv[电子邮件保护]
OpenSSH_8.9p1 Ubuntu-3,OpenSSL 3.0.2 2022 年 3 月 15 日
debug1:读取配置数据 /etc/ssh/ssh_config
debug1:/etc/ssh/ssh_config 第 19 行:include /etc/ssh/ssh_config.d/*.conf 没有匹配的文件
debug1:/etc/ssh/ssh_config 第 21 行:应用选项 *
debug2:resolve_canonicalize:主机名 180.xxx 是地址
debug1:连接到180.xxx[180.xxx]端口22。

ssh -vv [email protected]给出的结果与 相同ssh -vv user@otherRandomIP,即使端口 22 已经通过验证端口 22 已打开为开放状态。

问题:LAN设备只能连接私网IP的服务器,无法连接公网IP的服务器。WAN设备可以连接公网IP的服务器。

答案1

这有与 SSH 无关. 如果 WAN 设备可以访问,则一切正常。

谢谢A1 电脑解决我的问题。

一开始,在评论中讨论了一些问题后,我还以为是 SSH 设置的问题。后来,我在托管网站后也遇到了类似的问题。其域名无法通过本地设备访问,但它可以在 WAN 设备上工作。

我发现发夹式 NAT 或 NAT 环回作为解决方案。不幸的是,我的路由器似乎没有它。尽管如此,这对 SSH 连接来说不是问题。

相关内容