服务器:Ubuntu 22.04 LTS
可以通过以下方式访问 SSH:
- 使用 localhost 的服务器
ssh user@localhost
- 使用私有IP的服务器
ssh [email protected]
- 局域网中使用私有 IP 的客户端(Android)
ssh [email protected]
- 客户端(android)在 LAN 之外使用公共 IP
ssh [email protected]
SSH 无法通过以下方式访问:
- 局域网中使用私有 IP 的客户端(Windows 10)
ssh [email protected]
- 使用公网 IP 的服务器
ssh [email protected]
- 局域网中使用公网 IP 的客户端(Android)
ssh [email protected]
客户端(android)在 LAN 之外使用公共 IPssh [email protected]
端口相关配置
- 防火墙
sudo ufw enable
和sudo ufw allow ssh
- 路由器端口转发
- 默认
sshd_config
验证端口 22 已打开
sudo ufw status
- YouGetSignal 端口转发测试器
- 端口检查工具
笔记
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 连接来说不是问题。