自建 RustDesk 远程桌面连接服务

RustDesk 可以自建 ID/中继服务器,避免默认公共服务器不稳定或延迟过高的问题。服务端主要包含两个组件:

  • hbbs:ID 注册服务器,负责设备发现和连接协商。
  • hbbr:中继服务器,在两端无法直连时转发流量。

下面使用 Docker Compose 部署,示例采用 host 网络模式,适合直接运行在 VPS、NAS 或内网服务器上。

Docker Compose 部署

先创建一个目录存放配置文件和密钥,例如:

1
2
mkdir -p rustdesk-server/data
cd rustdesk-server

新建 docker-compose.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"

depends_on:
- hbbr
restart: unless-stopped

hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped

端口放行

如果服务部署在云服务器或有防火墙的主机上,需要放行 RustDesk Server 使用的端口:

  • TCP:21115-21119
  • UDP:21116

如果只在内网使用,则确保客户端能访问部署服务的主机 IP 即可。

客户端配置

服务启动后,hbbs 首次运行会在 ./data 目录生成密钥文件。其中客户端需要填写的是公钥文件 id_ed25519.pub 的内容。

在 RustDesk 客户端中进入网络设置,按下面方式填写:

  • ID 服务器:填写部署 hbbs 的主机名、域名或 IP 地址,例如 hbbs.example.com:21116 。其他两个地址可以留空,RustDesk 会自动推导
  • 中继服务器:填写部署 hbbr 主机名、域名或 IP 地址,例如 hbbr.example.com:21117
  • Key:填写 ./data/id_ed25519.pub 文件中的公钥内容。

填写完成后保存配置,客户端底部状态正常显示在线,就可以使用自建服务器进行远程连接。

CleanShot 2026-08-04 at 21.48.15.png

常用命令

启动服务:

1
docker compose up -d

查看日志:

1
docker compose logs -f

查看公钥:

1
cat ./data/id_ed25519.pub