在 Linux VPS 上搭建 RustDesk 服务器

在 Linux VPS 上创建 RustDesk 服务器

RustDesk 是一款用 Rust 语言编写的优秀国产远程控制软件。它有速度快、无广告、免费使用、可以直连等优点。但是,由于最近电诈肆虐,RustDesk 官方关闭了位于中国大陆的服务器。难道我们从此只能望洋兴叹,不得不改用向日葵、ToDesk 等竞品吗?答案是否定的,我们可以自行创建服务器。

一、RustDesk 服务器的搭建

我们需要一台运行 Windows 或 Linux 的服务器或 VPS 来部署 RustDesk Server,让它成为 RustDesk 服务器。此处以一台 2C1G 的 VPS 为例,操作系统为 Ubuntu 22.04 LTS。

RustDesk 官网文档的坑很多,比方说,官网给的 docker-compose.yml 就有问题。本文给出了笔者修改过的 docker-compose.yml 文件,经实测可以使用。

  1. 自行建立 docker-compose.yml 文件。
1
2
3
4
mkdir ~/rustdeskserver
cd ~/rustdeskserver
nano ./docker-compose.yml

  1. 将以下内容粘贴到上述 docker-compose.yml 文件中:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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
  1. 下载 RustDesk Server 镜像并启动 docker 容器。
1
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的方法:

1
2
cd ~/rustdeskserver
docker compose down

如果要重新启用 RustDesk 服务,就执行以下命令:

1
2
cd ~/rustdeskserver
docker compose up -d

小结

我们在一台运行 Linux 的 VPS 上部署了 RustDesk 服务端,而且了解了 RustDesk Server 的构成、公钥及其用途,学到了停止和开启 RustDesk Server 的方法。

相关阅读

《在 Windows VPS 上搭建 RustDesk 服务器》

图片版权

题图:RustDesk LOGO 的各项权利均归其开发者所有。

头图:https://pixabay.com/zh/photos/milky-way-sky-stars-cosmos-night-4526277/


求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”

在 Linux VPS 上搭建 RustDesk 服务器
https://blog.kukmoon.com/486783c022b7/
作者
Kukmoon谷月
发布于
2025年6月5日
许可协议