Linux 服务器无法远程连接?教你排查网络

第一步:先确认故障现象和准备工作

Linux 服务器无法远程连接 时,不要急着重启。
先确定具体现象:是 连接超时(Time out)还是 连接被拒绝(Connection refused)?
不同报错对应不同的排查方向。

准备工作:你需要知道服务器的公网IP、SSH端口(默认22)、以及自己的本地网络环境(比如是否在公司内网或家宽环境下)。
另外准备好 本地终端(Windows 用 PowerShell 或 CMD,macOS/Linux 直接用终端)。

第二步:从本地侧检查网络可达性

2.1 先做 Ping 测试

在本地终端输入:

ping 你的服务器公网IP
  • 如果能 ping 通,说明物理链路正常,问题出在上层应用或安全策略上。
  • 如果 ping 不通(持续 Request timeout),说明 网络层不通。此时检查:
  • 服务器是否关机或宕机(去云服务商后台查看实例状态)。
  • 云服务商的 安全组 / 防火墙 是否放行了 ICMP(ping)协议。

2.2 再用 Telnet 检查端口

ping 通但 SSH 连不上,就需要检查端口是否开放:

telnet 你的服务器公网IP 22
  • 如果显示 Connected to ...,表示端口可通,问题在 SSH 服务端配置或认证。
  • 如果提示 Connection refused,说明端口没打开要么 SSH 服务没启动,要么防火墙/安全组拦截了 22 端口。
  • 如果提示 Connection timed out,说明网络层有防火墙或路由问题,继续往下排查安全组。

第三步:检查云服务商安全组与本地防火墙

3.1 云平台安全组规则

以阿里云/腾讯云为例:

  • 登录云控制台,找到实例对应的 安全组
  • 查看 入方向规则 是否允许源IP为 0.0.0.0/0 或你的本机IP,协议为 TCP,端口为 22。
  • 常见坑:如果安全组规则里只放行了特定端口(比如 HTTP 80),却遗漏了 SSH 22,就会导致 Connection timed out
  • 正确做法:添加入方向规则:协议 TCP,端口 22,授权对象 0.0.0.0/0(生产环境建议限制为你的办公IP)。

3.2 本地防火墙(服务器侧)

如果服务器没有装云助手或无法通过 VNC 登录,可以先重启试试?
但更稳的方法是先通过云平台的 VNC 登录(或救援模式)进入系统。

登录后检查防火墙状态:

# 对于 firewalld
systemctl status firewalld
firewall-cmd --list-all
# 对于 iptables
iptables -L -n | grep 22

如果防火墙开启了但没放行 22 端口,执行:

# firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload
# iptables
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
service iptables save

第四步:检查 SSH 服务端配置与运行状态

4.1 确认 SSH 服务是否运行

systemctl status sshd

如果显示 active (running) 则正常;
如果 inactive (dead) 则启动:

systemctl start sshd
systemctl enable sshd

4.2 检查 SSH 监听地址和端口

查看 /etc/ssh/sshd_config 中的关键项:

#Port 22  # 确认没有被注释且值正确
#ListenAddress 0.0.0.0  # 建议设置为 0.0.0.0 表示监听所有IP
#PermitRootLogin yes  # 如果需要 root 登录,取消注释

修改后重启 sshd:

systemctl restart sshd

4.3 常见错误补充

  • Connection refused:SSH 服务未运行、端口被占用、或防火墙/iptables 拦截。
  • Permission denied (publickey):密钥认证失败,检查本地密钥对是否匹配,或云平台秘钥配置。
  • No route to host:网络路由问题,检查安全组或本地是否有代理/VPN干扰。

第五步:避坑说明与效果验证

避坑

  • 云服务器的 弹性公网IP 可能是独立的,如果实例没有绑定公网IP,直接连内网IP肯定失败。
  • 修改防火墙规则时千万不要把自己锁在外面。建议在 VNC 终端里操作,并且先测试(比如 iptables -P INPUT ACCEPT 先放行,再慢慢精细化)。
  • 如果使用的是 centos7 默认可能会启用 firewalld,而低版本用 iptables,不要混淆。

效果验证
完成上述步骤后,在本地再次执行:

ssh 用户名@服务器公网IP -p 22

如果能成功登录,问题解决。
如果仍然失败,回到第二步重新检查链路,或者看云服务商 VNC 界面的网络日志。

如果实在找不到原因,建议在云控制台 重启实例 后再试,有时简单的重启能恢复网络状态。
最后记住:网络排查的核心是分层验证,从链路层→网络层→传输层→应用层,一步步缩小范围,不要跳跃。

分享到:
上一篇
用大模型写 Nginx 配置,导致网站被劫持
下一篇
宝塔面板定时任务失效?教你一键修复
1
系统公告

泽御云五一特惠活动🔥

泽御云持证合规运营,资质齐全可查,长久稳定! 五一限时多重福利同步开启: ✅ 香港 2 核 2G 云服务器超值拼团,低价入手团长免费 ✅ 4 核 4G 多机房年付拼团,性价比拉满 ✅ 内蒙古新区限时 7 折(zeyuyunnmg)特惠,专属优惠码锁价续费 ✅ 全站通用 75 折优惠,老用户充值享专属赠金 官方站点:zeyuyun.com 合规资质齐全|售后有保障|活动限时错过不再有
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意