同一 WiFi 下 SSH 连不上:Ping 通但 22 端口超时的排查实录

背景

两台设备连的是同一个路由器/WiFi,看起来在同一局域网里:

  • 客户端(Windows):192.168.1.8/24,网关 192.168.1.1
  • 服务端(Linux):192.168.0.105/24,网关 192.168.0.1

Linux 上还配置了 VPN 接口(如 10.0.0.x11.0.0.x)。目标是从客户端 SSH 登录 Linux。


问题

从 Windows 执行 ssh user@192.168.0.105 连接超时

现象:

测试项结果
ping 192.168.0.105✅ 通
ssh 192.168.0.105:22❌ 超时
Linux 本机 ssh user@127.0.0.1✅ 正常

排查思路

1. 先确认 Linux 端 SSH 服务

sudo systemctl status ssh
sudo ss -tlnp | grep :22
sudo ufw status

若 sshd 运行、监听 0.0.0.0:22、防火墙未拦截 → 问题不在 Linux

2. 对比客户端网段

ipconfig   # Windows
ip a       # Linux

若客户端是 192.168.1.x,服务端是 192.168.0.x,虽属同一物理网络,但属于不同 IPv4 子网

3. 验证跨网段路由与端口

ping 192.168.0.1
ping 192.168.0.105
tracert 192.168.0.105
Test-NetConnection -ComputerName 192.168.0.105 -Port 22

典型结果:Ping 通,路由经 192.168.1.1 转发到 192.168.0.x,但 TCP 22 被路由器/防火墙丢弃

4. 排除 VPN 路径

Linux 本机测试 ssh user@10.0.0.xssh user@11.0.0.x 若正常,说明 VPN 地址可用;客户端需先连 VPN 才能走该路径。


解决方法

方案一:客户端改到同一网段(最快)

将 Windows 静态 IP 设为 192.168.0.x/24(避开服务端已占用地址),网关 192.168.0.1,再 SSH:

ssh user@192.168.0.105

方案二:服务端改到客户端网段

Linux 改用 DHCP 获取 192.168.1.x,Windows 直连新地址 SSH。

方案三:改路由器

登录路由器,关闭 AP/访客隔离,或放行 192.168.1.0/24 → 192.168.0.x:22

方案四:走 VPN(不改 IP)

客户端连 VPN 后,用 Linux VPN 地址连接:

ssh user@10.0.0.x
# 或
ssh user@11.0.0.x

结论

Ping 通 ≠ SSH 能连。 跨子网时路由器常放行 ICMP、拦截 TCP 22。优先让两端处于同一 IPv4 网段,或通过 VPN/路由器放行 解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cando-01

随心而动,随性而为。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值