vnc viewer 中文文档 下载 App

VNC Viewer 连接被拒绝——Connection refused 完整排查清单

错误长什么样

VNC Viewer 弹窗提示:

Connection attempt failed Connection refused

或者更隐晦的"Unable to connect to host"——这基本上是同一个意思:Viewer 的 TCP 包被目标地址拒绝了。

注意:这跟"认证失败(Access denied)"不同——连接被拒绝意味着 Viewer 连门都没摸到,根本没进到认证那一步。

逐项排查(按可能性排序)

1. RealVNC Server 没启动

最常见的原因之一。排查:

  sudo systemctl status vncserver-x11-serviced

如果显示 inactive (dead) → sudo systemctl start vncserver-x11-serviced

2. 端口被占或写错

Direct 直连时用的端口号不对:

3. 防火墙拦截

远程设备的防火墙可能把 VNC 端口堵了:

4. IP 地址不对

Direct 直连时 Viewer 里输的 IP 是错的:

5. 跨公网 + Cloud 中继不通

Cloud 云连接时报 Connection refused 的情况少,但如果 RealVNC Cloud 中继节点对你的网络不可达,也会报类似错误:

6. 同一个 Viewer 连了自己

如果 Viewer 和 Server 装在同一台设备上,Viewer 连接 localhost 的 Server 会形成无限递归("hall of mirrors"),某些版本会直接报 Connection refused。

RealVNC 官方明确禁止:Viewer 和 Server 不能在同一台设备上互相连接——这是产品设计,不是 Bug。

快速定位技巧

最快的排查流程:

  1. 在远程设备上确认 Server 进程在跑
  2. 确认监听端口 ss -tlnp | grep 5900
  3. 从 Viewer 设备上 ping 远程设备 IP(排除网络问题)
  4. 防火墙放行
  5. 用 telnet 测 telnet <IP> 5900(通 = Server 在监听;不通 = Server 没在监听或被防火墙挡了)

telnet 是排查端口问题的最快方式:如果 telnet 192.168.1.100 5900 报 "Unable to connect to remote host: Connection refused",那问题在远程侧(Server 没跑 / 防火墙),跟 Viewer 端无关。