跳到主要内容
常见问题 UbuntuSSH远程排查

Ubuntu 上 SSH 连不上服务器?排查顺序

Ubuntu 上 SSH 连不上服务器的固定排查顺序:网络通不通、22 端口开没开、服务起没起、密钥/口令对不对、防火墙放没放,逐项排除不靠猜。

发布于 2026/11/11 所属频道 Ubuntu 与 Debian

简短答案

SSH 连不上不要乱试,按**「网络 → 端口 → 服务 → 认证 → 防火墙」**这个固定顺序排查,每一层能独立定位,能少走弯路。多数情况是端口没开、服务没起、或防火墙把 22 挡了。

现象对照

现象 更可能的层
Connection timed out 网络不通 / 防火墙丢弃 / 端口没开
Connection refused 端口通但服务没起
Permission denied 网络端口都通,认证不对(口令/密钥/用户)

排查步骤

# 1. 网络与端口(在能上网的机器上测目标机 22)
ping <目标机>
nc -zv <目标机> 22

# 2. 服务是否在监听(目标机上)
systemctl status ssh --no-pager
sudo ss -ltnp | grep :22

# 3. 看服务日志,定位拒绝原因
sudo journalctl -b -u ssh --no-pager | tail -30

# 4. 防火墙是否放行 22
sudo ufw status verbose
sudo ufw allow 22/tcp
  • 测不通:先确认两台机在同一可达网络段,再查防火墙(ufw)是否放行 22。
  • 端口通但 refused:sudo systemctl start ssh 起服务,再看监听。
  • Permission denied:核对用户名、口令/密钥是否匹配、该用户能否 SSH 登录(AllowUsers 之类配置),配置细节以条目页为准。

注意:Connection refused 与 timed out 含义不同,先分清是服务问题还是网络问题再动手。服务器部署基线见 Ubuntu 26.04.1 服务器条目,各版本总览见 Ubuntu 索引;Debian 的 SSH 排查路径类似,参考 Debian 索引。

操作小结

  1. ping + nc -zv <ip> 22 先分网络/端口层。
  2. systemctl status ssh + ss -ltnp 确认服务监听。
  3. journalctl -u ssh 看拒绝原因。
  4. ufw 放行 22;认证问题再核用户/密钥。

相关链接

本文内容基于公开资料整理,仅供参考;涉及授权与合规的操作请以厂商官方文档为准。

相关推荐下载

按本文主题匹配的官方原版镜像条目

配套 PE 工具

制作启动盘、备份数据、修复引导

其他常见问题

同一集合内的相近主题,按标签与关键词匹配