针对 2026 年 4 月最新的 RustDesk 自建服务器迁移需求,本文深度解析了在更换 ID/Relay 服务器过程中常见的连接超时、密钥不匹配及配置同步失效等核心痛点。通过对 hbbs 和 hbbr 运行逻辑的底层剖析,为新手用户提供了一套可落地的环境平滑过渡方案,确保远程桌面控制在迁移后依然保持低延迟与高安全性。
在进行 RustDesk 服务端迁移时,简单的文件复制往往会导致客户端认证失败或连接超时。本文将针对 202604 版本环境下的迁移逻辑,手把手教你如何避开那些隐藏的配置坑位。
迁移 RustDesk 服务并非简单的程序重装。首先需确保旧服务器上的 id_ed25519 和 id_ed25519.pub 文件被完整备份并覆盖至新服务器的运行目录。这对密钥决定了客户端连接时的身份验证,若丢失或重新生成,所有已配置的客户端将因公钥不匹配而提示“Key mismatch”。在 202604 版本的生产环境中,建议在迁移前通过 cat 命令核对密钥指纹,确保新旧环境的身份一致性,这是实现客户端无感迁移的前提条件。
许多用户在更换服务器 IP 后,发现客户端始终卡在“连接中”状态。这通常源于防火墙端口策略未同步更新。RustDesk 核心依赖 TCP 21115-21119 以及 UDP 21116 端口。实测排查细节显示:若使用 Docker 部署,必须检查宿主机的 iptables 是否正确转发了 21116/udp 流量。如果缺少 UDP 握手,客户端将无法完成 P2P 打洞,被迫转向中转模式,若此时 Relay 服务器(hbbr)也未就绪,连接就会彻底中断。
对于需要保留地址簿和标签的用户,迁移 db.sqlite3 文件是关键步骤。在停止旧服务器的 hbbs 服务后,将该数据库文件拷贝至新服务器的相同路径。排查细节:若迁移后地址簿显示为空,通常是由于文件所属权变更导致 hbbs 进程无权读取。在 Linux 环境下,需执行 chown 命令将文件所有者更改为运行 RustDesk 的当前用户。此外,务必检查新环境的磁盘挂载点,防止因 Sqlite 写入锁死导致连接日志无法记录。
面对大量受控端,逐一手动修改 ID 服务器地址显然不切实际。RustDesk 支持一种高效的静默配置方式:将新服务器的信息直接嵌入安装包文件名中。例如,将安装包重命名为 rustdesk-host=,key=.exe。当用户运行此文件时,程序会自动读取文件名中的参数并覆盖本地旧配置。针对 202604 后的版本,若发现配置未生效,请检查 %APPDATA%\RustDesk\config 目录下的 RustDesk2.toml,手动确认 id-server 字段是否被系统权限锁定。
ID 通常与硬件指纹挂钩,但如果客户端检测到 ID 服务器地址发生剧烈变动且未通过密钥验证,可能会重置临时 ID。解决办法是先在客户端设置中填入新的 Key,再重启 RustDesk 服务,原有的固定 ID 通常会恢复。
这说明 P2P 连接失败,流量正通过 hbbr 中转。请检查新服务器的 21116/UDP 端口是否在云服务商的安全组中开放。可以使用 'nc -u -z 21116' 工具进行远程探测,确保 UDP 通道畅通无阻。
请检查环境变量中的 API 服务器地址配置。迁移时,如果 API 服务的端口(默认 21114)发生变化,需要在 Web 端重新指向新的服务端 URL,并清理浏览器缓存以刷新 Token 信息。
如需获取最新的 RustDesk 迁移工具包或查看更多 202604 版本排查案例,请访问官方下载站获取技术支持。
相关阅读:RustDesk 迁移 常见问题与排查 202604,RustDesk 迁移 常见问题与排查 202604使用技巧,RustDesk 迁移 常见问题与排查 202604:从旧版 ID 服务器平滑过渡到新环境的实战指南