一、RustDesk 服务器的搭建
我们需要一台运行 Linux 的服务器或 VPS 来部署 RustDesk Server,让它成为 RustDesk 服务器。此处以一台 1C1G 的 VPS 为例,操作系统为 Debian GNU/Linux 11 (bullseye) (x86_64)。
推荐服务器低至$10.96一年的RackNerd、搬瓦工、腾讯云轻量服务器、莱卡云

RustDesk 官网给的 docker-compose.yml 就有问题,修改过的 docker-compose.yml 文件,经实测可以使用。
创建项目目录
mkdir ~/rustdeskserver
进入目录
cd ~/rustdeskserver
建立 docker-compose.yml 文件
nano ./docker-compose.yml
将以下内容粘贴到上述 docker-compose.yml 文件中:
version: '3'
networks:
rustdesk-net:
external: false
services:
hbbs: # RustDesk ID/Rendezvous 服务器
container_name: hbbs
ports:
- 21115:21115 # 用于 NAT 类型测试的 TCP
- 21116:21116 # TCP打孔
- 21116:21116/udp # UDP心跳/ID服务器
- 21118:21118 # 如果要运行web客户端,则使用TCP进行web套接字
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- /data/rustdesk/hbbs:/root
environment:
- "RELAY=x.x.x.x:21117" # 运行这些容器的服务器的【IP:port】或域名
- "ENCRYPTED_ONLY=1" # 开启加密
# - "KEY=xxxxxx" # 自定义KEY,去掉这一行可以自动生成
networks:
- rustdesk-net
depends_on:
- hbbr
restart: unless-stopped
hbbr: # RustDesk 中继服务器
container_name: hbbr
ports:
- 21117:21117 # TCP中继
- 21119:21119 # 如果要运行web客户端,则使用TCP进行web套接字
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- /data/rustdesk/hbbr:/root
networks:
- rustdesk-net
restart: unless-stopped
下载 RustDesk Server 镜像并启动 docker 容器
docker compose up -d

还有,要在 VPS 的管理控制台创建上述五个端口的入站规则(注意 TCP 协议的 21116 端口和 UDP 协议的 21116 端口都要打开)。
这样,RustDesk 服务器搭建完成。
二、RustDesk Server 的组成与使用
RustDesk Server 由两个进程组成。一个是 hbbs,它是 ID 服务器,负责为每一个客户端生成 ID。一个是 hbbr,它是中继服务器,负责在两个客户端之间建立连接,能直连就直连,不能直连就通过服务器中转。
RustDesk 客户端连接自建服务器时,每个客户端需要输入自建服务器的域名(或 IP 地址)和公钥(Key)。
在 RustDesk Server for Linux 上,公钥储存在 /data/rustdesk/hbbs/id_ed25519.pub 文件中。


如果公钥或者私钥有一个缺失,那么在每次 RustDesk Server 运行时,就会生成一对新的公私钥。RustDesk 服务器管理员需要将公钥分发给客户端用户。

RustDesk 服务器管理员可以临时停止 RustDesk Server,以免持有公钥的用户未经许可使用 RustDesk Server,消耗服务器的流量。临时停止 RustDesk Server的方法:
cd ~/rustdeskserver
docker compose down
如果要重新启用 RustDesk 服务,就执行以下命令:
cd ~/rustdeskserver
docker compose up -d
三、RustDeskAPI服务器搭配合使用
配置lejianwen/rustdesk-server使用更佳。
进入/root/rustdeskserver 目录通过修改 docker-compose.yml 文件
rustdesk-api:
image: lejianwen/rustdesk-api
container_name: rustdesk-api
ports:
- "21114:21114"
volumes:
- /data/rustdesk/api:/app/data
environment:
- TZ=Asia/Shanghai
- RUSTDESK_API_LANG=zh-CN
- RUSTDESK_API_RUSTDESK_ID_SERVER=hbbs:21116 # 使用服务名在内部网络通信
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=hbbr:21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://你的公网IP或域名:21114
- RUSTDESK_API_RUSTDESK_KEY=你的hbbs公钥
- RUSTDESK_API_JWT_KEY=JWT秘钥 # 可选
networks:
- rustdesk-net # 确保与hbbs/hbbr在同一网络
restart: unless-stopped
启动hbbs、hbbr、api三个容器
docker compose up -d
查看容器是否正常启动
docker ps

查看api服务的账目密码
docker logs rustdesk-api

输入ip:21114登录进入

填入API服务器的地址,这样就可以登录进来保存设备了



