UnboxVPS · 搬瓦工指南

SSH 常见报错速查表:9 种连接失败,对号入座三分钟解决

2026-08-26 建站部署

先说结论:照着报错信息对号入座

SSH 连不上 VPS,99% 的情况逃不出下面这张表。先看你终端里出现的报错原文,直接找到对应的那一节,比盲目重启高效得多:

报错信息最可能的原因先看哪种
Connection timed outIP/端口不通,或 IP 被墙报错 1
Connection refused服务器活着,但 SSH 端口没开报错 2
Permission denied (password)密码错了,或 root 被禁报错 3
Permission denied (publickey)密钥不对,或服务器关了密码登录报错 4
Host key verification failed换过 IP,本地旧指纹冲突报错 5
Too many authentication failures本地密钥太多,尝试次数超限报错 6
Could not resolve hostname命令写错了,或域名不存在报错 7
Connection reset by peer你的 IP 被服务器封了报错 8
Broken pipe / 一会儿就掉线空闲超时,连接被掐断报错 9

如果你连报错原文都来不及看,先跑一遍通用排查三板斧(下一节),两分钟能把问题范围缩小一半。


一、通用排查三板斧:先缩小范围再动手

连不上时别急着重装系统,按顺序做三件事:

1. 核对 IP 和端口

登录你的 VPS 管理面板(搬瓦工用户看 KiwiVM 的 Main controls 页),逐字符核对 IP 地址SSH 端口。注意:搬瓦工的 SSH 端口通常不是默认的 22,而是一个随机高位端口,凭记忆输 22 是最常见的新手错误。

2. 测网络通不通

ping 你的IP

再测一下端口是否开放(把端口号换成你的):

nc -vz 你的IP 端口号

显示 succeeded 说明端口是开的,问题在认证;显示 timed out 或 refused,对应第一、二节。

3. 开详细日志看卡在哪

ssh -vvv -p 端口号 root@你的IP

-vvv 会打印完整的连接过程,看它卡在哪一步:卡在建立连接是网络问题,卡在认证环节是密码/密钥问题。


二、逐个击破:9 种报错的原因与修复

1. Connection timed out:完全没反应,最后超时

报错原文:

ssh: connect to host x.x.x.x port xxxx: Connection timed out

含义: 你的连接请求发出去了,但对方毫无回应,直到超时。这说明问题出在网络层——数据包根本没到达服务器的 SSH 服务。

可能原因与对策:

2. Connection refused:服务器活着,但这个端口拒绝连接

报错原文:

ssh: connect to host x.x.x.x port xxxx: Connection refused

含义: 和 timed out 不同,refused 说明服务器收到了你的请求并明确拒绝——服务器是活的,只是这个端口上没有服务在监听。

可能原因与对策:

3. Permission denied (password):密码被拒

报错原文:

root@x.x.x.x: Permission denied (publickey,password).

含义: 连接建立了,但密码验证没通过。

可能原因与对策:

4. Permission denied (publickey):密钥认证失败

报错原文:

root@x.x.x.x: Permission denied (publickey).

含义: 注意报错里只有 publickey 没有 password——服务器关闭了密码登录,只认密钥,而你提供的密钥没通过。

可能原因与对策:

ssh -i ~/.ssh/你的私钥文件 -p 端口号 root@你的IP

5. Host key verification failed:换过 IP 之后必踩的坑

报错原文:

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Host key verification failed.

含义: 你本地记录过这台服务器(IP+端口)的指纹,现在对不上了。SSH 为了防止中间人攻击,直接拒绝连接。

绝大多数情况是无害的: 你刚换过机房、换过 IP、或者重装过系统,指纹自然就变了。清掉旧记录即可(替换成你的 IP 和端口):

ssh-keygen -R "[你的IP]:端口号"

然后重新连接,提示确认新指纹时输入 yes。

但要留个心眼: 如果你没有做过换 IP、重装这类操作,却突然收到这个警告,理论上存在中间人攻击的可能,先别急着清除,确认一下自己最近的操作记录。

6. Too many authentication failures:本地密钥太多也会连不上

报错原文:

Too many authentication failures

含义: 你本地的 SSH 代理(ssh-agent)里加载了一堆密钥,SSH 客户端会挨个尝试,还没轮到正确的密钥,服务器就因为尝试次数超限(默认 6 次)把你踢了。

对策:

ssh -o IdentitiesOnly=yes -i ~/.ssh/你的私钥文件 -p 端口号 root@你的IP
ssh-add -D

7. Could not resolve hostname:命令或域名本身有问题

报错原文:

ssh: Could not resolve hostname xxx: Name or service not known

含义: SSH 连解析地址这一步都没过——要么主机名根本不存在,要么命令格式写错了。

常见错误写法与对策:

8. Connection reset by peer:连上了又被一脚踢开

报错原文:

Connection reset by peer

或者握手阶段就断开:

kex_exchange_identification: Connection closed by remote host

含义: 连接建立到一半,服务器主动掐断了。除了网络抖动,最常见的原因是服务器上的防护软件(比如 fail2ban)把你的 IP 封了——通常是因为之前输错太多次密码。

对策:

9. Broken pipe / 空闲掉线:用着用着就断了

报错原文:

client_loop: send disconnect: Broken pipe

或者

packet_write_wait: Connection x.x.x.x port xxxx: Broken pipe

含义: 不是你的操作有问题,而是连接空闲太久,被中间的防火墙或 NAT 设备当作死连接清理掉了。

对策(客户端配置,一次设置长期有效):

在你本地的 ~/.ssh/config 文件里加上心跳设置(文件不存在就新建):

Host myvps
    HostName 你的IP
    Port 你的端口
    User root
    ServerAliveInterval 30
    ServerAliveCountMax 3

ServerAliveInterval 30 表示每 30 秒发一次心跳包,让中间设备认为连接还活着。配置后用 ssh myvps 就能直接连,连端口都不用记。

强烈建议同时养成用 tmux 的习惯:连上服务器后先敲 tmux,之后所有操作都在 tmux 会话里。就算断线了,重新连上执行 tmux attach,之前的工作现场原样还在——跑长任务时这就是救命的习惯。


三、搬瓦工用户的五个特殊情况

上面是通用排查,搬瓦工用户再对一下这五条,很多问题秒定位:


四、FAQ:SSH 连接常见问题

1. 刚买的搬瓦工 VPS 连不上,先检查什么?

按顺序:面板里核对 IP 和随机端口(不是 22)→ 本地 ping IP 测通不通 → 确认输密码时没有搞错大小写。90% 的新手问题卡在”用了 22 端口”这一步。

2. Connection timed out 和 Connection refused 有什么区别?

timed out 是你的请求石沉大海,问题在网络层(IP 错、被墙、宕机);refused 是服务器明确拒绝,说明机器活着但这个端口没开 SSH。前者查网络和 IP,后者查端口和服务状态。

3. 换机房之后连不上,提示主机密钥变了?

这是正常现象:IP 变了,本地记录的旧指纹对不上。执行 ssh-keygen -R "[IP]:端口" 清掉旧记录,重新连接确认新指纹即可。

4. 输密码时屏幕没反应,是不是卡了?

不是。SSH 输密码时不回显任何字符(连星号都没有)是安全设计,照常输完回车即可。

5. 连接总是过一会儿就断,怎么治?

空闲超时导致的。在本地 ~/.ssh/config 里配置 ServerAliveInterval 30 让客户端定时发心跳,同时服务器上用 tmux 干活,断线重连后 tmux attach 恢复现场。

6. IP 被墙了,怎么确认?

特征是国内所有网络(宽带、手机流量)都连不上、ping 不通,但海外网络能连。确认后不用等,搬瓦工面板可自助换机房换 IP。

7. Windows 上用什么 SSH 工具好?

Windows 10 及以上自带 SSH,直接在终端里用命令即可,和 Mac/Linux 一样。想要图形界面可以选 FinalShell、Xshell 或 PuTTY,连接时把面板里的随机端口填对就行。

8. 密钥登录和密码登录该用哪个?

推荐密钥登录:强度远高于密码,还能免疫绝大部分暴力破解。但务必把私钥文件备份到安全的地方,密钥丢了而服务器只认密钥时,就只能恢复快照了。


推荐延伸阅读