在 Ubuntu 24.04 上部署 RustDesk 服务端完整指南
RustDesk 是一款开源的远程桌面软件,通过自建服务器,你可以完全掌控自己的数据,无需依赖第三方服务。本文将详细介绍如何在 Ubuntu 24.04 系统上使用 Docker 部署 RustDesk 服务端。
一、准备工作
1.1 服务器要求
部署 RustDesk 服务端对硬件要求不高。根据官方文档和社区实践,最低配置足以满足个人或小型团队使用需求:
| 项目 | 最低配置 | 推荐配置 |
|---|---|---|
| CPU | 1核 | 2核 |
| 内存 | 1GB | 2GB |
| 磁盘 | 10GB | 20GB+ |
| 系统 | Ubuntu 24.04 LTS | Ubuntu 24.04 LTS |
说明:RustDesk 官方表示,其公共 ID 服务器部署在 2核/4GB 的 VPS 上,可服务超过 100 万个终端。对于个人使用,1核1GB 的配置已完全足够。
1.2 需要开放的端口
RustDesk 服务端由两个核心组件构成,需要开放以下端口:
| 端口 | 协议 | 服务组件 | 用途 |
|---|---|---|---|
| 21115 | TCP | hbbs | NAT 类型测试 |
| 21116 | TCP | hbbs | ID 注册服务 |
| 21116 | UDP | hbbs | 心跳检测与 P2P 打洞 |
| 21117 | TCP | hbbr | 中继转发服务 |
| 21118 | TCP | hbbs | Web 客户端支持 |
| 21119 | TCP | hbbr | Web 客户端支持 |
⚠️ 特别重要:21116 端口必须同时开放 TCP 和 UDP,否则 P2P 直连功能将无法正常工作。
如果服务器启用了 UFW 防火墙,可以执行以下命令开放端口:
sudo ufw allow 21115:21119/tcp
sudo ufw allow 21116/udp
sudo ufw reload
如果使用云服务器(如腾讯云、阿里云、Azure 等),还需要在云服务商的控制台安全组中添加入站规则,放行上述端口。
二、安装 Docker 和 Docker Compose
Docker 是部署 RustDesk 服务端最便捷的方式。在 Ubuntu 24.04 上,执行以下命令安装:
# 安装 Docker
curl -fsSL https://get.docker.com | sh
# 安装 Docker Compose 插件
sudo apt install -y docker-compose-plugin
# 验证安装
docker --version
docker compose version
如果看到版本号输出,说明安装成功。
三、部署 RustDesk 服务端
3.1 创建服务目录
# 创建工作目录
mkdir -p /opt/rustdesk
cd /opt/rustdesk
3.2 创建 docker-compose.yml 文件
使用 network_mode: "host" 模式可以简化网络配置,让容器直接使用宿主机的网络栈。这种方式配置简单,且能确保 P2P 打洞功能正常工作。
nano docker-compose.yml
将以下内容粘贴到文件中:
services:
hbbs:
image: rustdesk/rustdesk-server:latest
container_name: hbbs
command: hbbs
network_mode: "host"
volumes:
- ./data:/root
restart: unless-stopped
hbbr:
image: rustdesk/rustdesk-server:latest
container_name: hbbr
command: hbbr
network_mode: "host"
volumes:
- ./data:/root
restart: unless-stopped
保存文件(按 Ctrl+X,然后 Y,再按 Enter)。
关于镜像说明:如果需要指定中继服务器地址,可以在
command: hbbs后添加-r 你的服务器IP:21117参数。不指定时,服务会自动检测。
3.3 启动服务
docker compose up -d
该命令会从 Docker Hub 拉取镜像并启动两个容器。首次启动可能需要等待几分钟。
3.4 验证服务状态
# 查看容器运行状态
docker compose ps
# 查看所有 Docker 容器
docker ps
正常情况下,应该看到 hbbs 和 hbbr 两个容器的状态均为 Up。
查看服务日志确认无错误:
docker compose logs hbbs
docker compose logs hbbr
3.5 获取连接密钥(Key)
服务启动后,会在 ./data 目录下自动生成加密密钥文件。客户端连接时需要用到这个 Key。
cat /opt/rustdesk/data/id_ed25519.pub
命令会输出一串字符,例如:
bWI7czjxxxxxxxxxxxxxxxa6NBPKjG2UvxjIKaxxxxx=
请将这串 Key 完整保存下来,后续配置每台客户端都要用到。
四、服务管理命令
部署完成后,可以通过以下命令管理 RustDesk 服务:
cd /opt/rustdesk
# 启动服务
docker compose up -d
# 停止服务
docker compose down
# 重启服务
docker compose restart
# 查看状态
docker compose ps
# 实时查看日志
docker compose logs -f
五、客户端配置
5.1 下载客户端
从 RustDesk 官网 下载对应操作系统的客户端:
- Windows:下载
.exe安装包 - macOS:下载
.dmg文件 - Linux:下载
.deb或.AppImage - 移动端:从应用商店下载
5.2 配置客户端连接到自建服务器
在所有需要远程控制的电脑上,按以下步骤配置:
- 打开 RustDesk 客户端
- 点击右上角的 设置 图标(⚙️)
- 进入 网络 选项卡
- 填写以下信息:
| 配置项 | 填写内容 |
|---|---|
| ID服务器 | 你的服务器公网 IP 或域名 |
| 中继服务器 | 你的服务器公网 IP 或域名 |
| Key | 第三步获取的那一串密钥 |
- 点击 应用,客户端会自动重启
5.3 设置固定密码(推荐)
为了方便无人值守访问,建议为每台电脑设置永久密码:
- 打开客户端 → 设置 → 安全
- 勾选 “设定永久密码”
- 输入并确认密码
- 点击 确定
六、开始使用
所有客户端配置完成后,即可开始互相远程控制:
- 在任意一台电脑上打开 RustDesk
- 在 “输入远程 ID” 栏中输入目标电脑的 ID(每台电脑界面上显示的 9 位数字)
- 点击 连接
- 输入目标电脑的密码
连接成功后,将鼠标放在左上角的连接状态图标上,会显示当前连接模式:
- “加密直连” → P2P 直连,速度最快,数据不经过服务器
- “加密中继” → 走中继服务器,数据通过你的服务器转发
七、常见问题排查
7.1 客户端无法连接
可能原因:
- 防火墙未开放所需端口
- 21116 UDP 端口未开放,导致 P2P 打洞失败
- Key 输入错误(注意前后不要有空格)
排查方法:
# 检查端口是否正常监听
sudo netstat -tulnp | grep 211
# 查看服务日志
docker compose logs hbbs
docker compose logs hbbr
7.2 连接速度慢
如果连接走的是中继模式而非 P2P 直连,说明 NAT 穿透失败。请检查:
- 云服务器安全组是否开放了 21116 UDP 端口
- 客户端的网络环境是否支持 UDP 通信
7.3 更新服务端
cd /opt/rustdesk
docker compose pull
docker compose up -d
八、安全建议
- 定期更新:关注 RustDesk 官方发布,及时更新服务端和客户端以修复安全漏洞
- 最小权限原则:仅在防火墙开放必需的端口,不要暴露不必要的服务
- 使用强密钥:服务端自动生成的密钥安全性较高,无需额外修改
- 备份配置:定期备份
/opt/rustdesk/data目录,包含密钥等重要数据