搬瓦工 SSH 连接不上怎么办?完整排查方法

搬瓦工 VPS 用着用着突然 SSH 连不上,很多人第一反应是“服务器坏了”或者“是不是要重装系统”。实际上,SSH 连接失败最常见的原因不是机器坏了,而是端口、sshd 服务、防火墙、路由、iptables 或最近修改配置导致的问题。
这类问题不要一上来就重装。先判断 VPS 网络是否可达,再查 SSH 端口和服务状态,最后才考虑快照恢复或重装系统。如果你还不熟悉 KiwiVM,建议先看本站的 搬瓦工 KiwiVM 控制面板完整使用教程。
一、先判断:是网络不通,还是 SSH 不通?
搬瓦工官方网络排障文档里也把问题分成几类:如果 VPS 全球都能 Ping 通,但 SSH 无法连接,大概率是 VPS 内部软件配置问题,可以通过 KiwiVM 的 Interactive Console 排查;如果全球 100% 丢包,则先确认 VPS 是否在运行,再检查防火墙和网络配置。

先在本地执行:
ping 你的VPS_IP
如果 Ping 能通,但 SSH 连不上,重点查 SSH 端口、sshd 服务和防火墙。
如果 Ping 不通,再用第三方 Ping 或 MTR 工具从多个地区测试。只有你本地不通,可能是本地运营商、路由或防火墙问题;全球都不通,则优先看 VPS 状态、防火墙、iptables 和系统网络配置。
二、SSH 连接不上的常见原因

- VPS 没有运行:服务器处于 Stopped、Suspended 或异常状态。
- IP 或端口写错:搬瓦工 SSH Port 不是每次都等于 22,以 KiwiVM 显示为准。
- SSH 服务异常:sshd 没启动,或者配置语法错误。
- 防火墙拦截:ufw、iptables、nftables 把 SSH 端口挡住了。
- 迁移机房后旧 IP 残留:iptables / NAT 规则里写死了旧 IP。
- 认证方式错误:密码错、密钥不匹配、root 登录被禁用。
- 本地网络问题:公司网络、校园网、运营商或本机安全软件拦截。
- 系统资源异常:磁盘满、内存耗尽、负载过高,导致 sshd 响应异常。
如果最近刚做过机房迁移,可以顺便看看 搬瓦工迁移机房完整教程,尤其要检查迁移后 IP、DNS、防火墙和旧 IP 规则。
三、完整排查流程

1、确认 VPS 是否运行
登录搬瓦工 Client Area,进入对应 VPS 的 KiwiVM。先看 Main Controls 里的状态。如果 VPS 没有运行,先点击 Start。如果已经运行,可以尝试 Restart,但不要频繁强制重启。
2、确认 IP 和 SSH Port
搬瓦工官方 KiwiVM 文档说明,服务器 IP 和 SSH Port 可以在 KiwiVM 的 Main Controls 查看。连接时要带上端口:
ssh root@服务器IP -p SSH端口
例如:
ssh [email protected] -p 22
如果你之前手动改过 /etc/ssh/sshd_config 里的 Port,实际端口可能和你记忆中的不一样,要进入系统后重新确认。
3、看 SSH 报错内容
Connection timed out:网络不通、防火墙拦截或端口无响应。Connection refused:IP 可达,但目标端口没有服务监听,常见于 sshd 未启动或端口写错。Permission denied:网络和 SSH 服务基本正常,问题多半是密码、密钥或登录权限。No route to host:路由、防火墙或网络配置异常。Host key verification failed:服务器重装或换 IP 后,客户端记录的 host key 不一致。
可以加上 -vvv 查看详细过程:
ssh -vvv root@服务器IP -p SSH端口
四、使用 KiwiVM 控制台进入系统
如果 SSH 从公网连不上,但 VPS 还在运行,优先使用 KiwiVM 的 Interactive / Emergency Console。这个入口不依赖你当前的 SSH 会话,适合修复端口、防火墙、sshd 配置错误。

如果忘记 root 密码,可以先在 KiwiVM 的 Root Password Modification 中重新生成。更完整的面板说明可以看 KiwiVM 控制面板完整使用教程。
五、进入系统后检查 sshd
Debian / Ubuntu 常用命令:

systemctl status ssh
journalctl -u ssh --no-pager -n 80
如果服务没有运行:
systemctl start ssh
systemctl enable ssh
检查 SSH 是否监听端口:
ss -lntp | grep ssh
检查配置语法:
sshd -t
查看关键配置:
grep -E "^(Port|PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)" /etc/ssh/sshd_config
修改配置后重启 SSH:
systemctl restart ssh
修改 SSH 配置前最好先做快照。本站已经整理过 搬瓦工快照与自动备份教程,生产环境建议先留一个可恢复点。
六、检查防火墙和 iptables
如果 sshd 正常运行,但外部仍然连不上,重点查防火墙。
ufw status verbose
ufw allow 22/tcp
iptables -L -n
iptables -t nat -L -n
nft list ruleset
搬瓦工官方 iptables 排障文档特别提到,机房迁移导致 VPS IP 改变后,旧 IP 仍然残留在 iptables 或 NAT 规则里,可能会把自己锁在 VPS 外。尤其迁移后突然完全不通,要重点检查 NAT 表里是否还有旧 IP。
如果你不熟悉 iptables,不建议随便执行清空规则。先截图或导出当前规则,再逐条判断。
七、root 密码、密钥和登录权限问题
如果报错是 Permission denied,通常不是网络问题,而是认证失败。常见原因包括 root 密码输入错误、本地 SSH Key 不匹配、PermitRootLogin 被禁用、PasswordAuthentication 被关闭但密钥没有配好,或者重装系统后本地 known_hosts 记录仍是旧指纹。
如果只是 root 密码忘了,可以直接在 KiwiVM 里重置,不需要重装系统。
八、可以让 Assistant Amy 帮忙检查
如果不熟悉 Linux 命令,可以使用 KiwiVM 中的 Assistant Amy。它可以结合当前 VPS 状态检查 SSH 服务、端口、防火墙和系统日志。
我的 SSH 无法连接,请依次检查: 1. VPS 是否正常运行 2. SSH 服务是否启动 3. 当前 SSH 端口 4. 防火墙是否放行该端口 5. sshd_config 是否存在错误 6. 最近日志中是否有拒绝连接或认证失败先只检查并告诉我原因和修复方案,不要直接修改配置。
详细使用方法可看 搬瓦工 Assistant Amy 使用教程。
九、什么时候才需要重装系统?
SSH 连接不上,不代表一定要重装。只有系统网络配置严重损坏、sshd 和包管理器都无法修复、服务器被一键脚本改乱、数据已备份并确认可以接受清空时,才考虑重装。

重装前建议先看 搬瓦工重装系统教程:Ubuntu / Debian 怎么选。如果只是机房线路问题,不要重装系统,应该先看 搬瓦工全球机房大全 和可迁移机房。
FAQ 常见问题
搬瓦工 SSH 默认端口一定是 22 吗?
不一定。以 KiwiVM Main Controls 显示的 SSH Port 为准。如果你手动修改过 sshd_config,还要以系统实际监听端口为准。
Ping 通但 SSH 超时是什么原因?
通常是 SSH 端口没有放行、sshd 没有监听、端口写错,或者防火墙拦截。
Connection refused 是什么意思?
说明目标 IP 可达,但对应端口没有服务接收连接。常见原因是 sshd 没启动,或者你连接了错误端口。
Permission denied 是不是 IP 被墙?
不是。Permission denied 说明已经连到了 SSH 服务,但认证失败,重点查密码、密钥、root 登录权限和认证方式。
迁移机房后 SSH 不通怎么办?
先确认新 IP 和 SSH Port,再检查 DNS、防火墙、iptables 和 NAT 规则中是否还残留旧 IP。搬瓦工官方文档也专门提醒过迁移后 iptables 旧 IP 的问题。
总结
搬瓦工 SSH 连接不上,排查顺序很重要。先看 VPS 是否运行,再确认 IP 和 SSH 端口;Ping 能通但 SSH 不通,就查 sshd 和防火墙;全球都不通,就看 VPS 状态、iptables 和系统网络配置;如果自己不熟悉命令,可以先让 Assistant Amy 做只读诊断。
不要把重装系统当成第一步。能通过 KiwiVM 控制台修复就先修复,修不好再考虑快照恢复,最后才是重装系统。

