自建 RustDesk 远程桌面完整部署教程
2025年6月3日...大约 5 分钟
🐳 使用 Docker 部署服务端
RustDesk 是一个开源的远程桌面软件,支持自建服务器,可以完全控制自己的数据和连接。本教程将详细介绍如何通过 Docker 快速部署 RustDesk 服务端。
📋 环境要求
在开始部署之前,请确保您的系统满足以下要求:
- ✅ Docker/Podman 已安装(Docker 安装指南)
- ✅ 服务器 具有公网 IP 地址
- ✅ 防火墙 已开放所需端口
🔐 所需端口清单
端口 | 协议 | 服务 | 用途 | 必需 |
---|---|---|---|---|
21114 | TCP | hbbs | Web 控制台(Pro 版本) | 可选 |
21115 | TCP | hbbs | NAT 类型测试 | 必需 |
21116 | TCP/UDP | hbbs | ID 注册与心跳服务 | 必需 |
21117 | TCP | hbbr | 中继服务 | 必需 |
21118 | TCP | hbbs | Web 客户端支持 | 可选 |
21119 | TCP | hbbr | Web 客户端支持 | 可选 |
提示
如果不需要 Web 客户端支持,可以关闭 21118
和 21119
端口。
🚀 快速部署(推荐)
方法一:使用 host 网络模式(Linux 推荐)
# 拉取 RustDesk 服务端镜像
sudo docker image pull rustdesk/rustdesk-server
# 启动 hbbs 服务(ID/心跳服务)
sudo docker run --name hbbs -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbs
# 启动 hbbr 服务(中继服务)
sudo docker run --name hbbr -v ./data:/root -td --net=host --restart unless-stopped rustdesk/rustdesk-server hbbr
注意事项
--net=host
仅适用于 Linux 系统- 此模式可让服务查看真实 IP 地址,而非容器 IP (172.17.0.1)
- Windows 系统请省略
sudo
和--net=host
参数 - 如遇连接问题,请移除
--net=host
并使用端口映射模式
方法二:自定义端口映射
# 1️⃣ 先启动 hbbr 中继服务
docker run --name hbbr \
--restart always \
-v ./data:/root \
-p 21117:21117 \
-d rustdesk/rustdesk-server hbbr
# 2️⃣ 再启动 hbbs ID 服务
docker run --name hbbs \
--restart always \
-v ./data:/root \
-p 21115:21115 \
-p 21116:21116/tcp \
-p 21116:21116/udp \
-d rustdesk/rustdesk-server hbbs
📦 Docker Compose 部署(推荐生产环境)
使用 Docker Compose 可以更方便地管理多个容器,需要先安装 Docker Compose。
基础版本 Docker Compose
# 创建 docker-compose.yml 文件
cat > docker-compose.yml <<EOF
services:
hbbs:
container_name: rustdesk-hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
hbbr:
container_name: rustdesk-hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
EOF
高级配置版本
如需进行高级配置(如强制中继模式),可添加环境变量:
cat > docker-compose.yml <<EOF
services:
hbbs:
container_name: rustdesk-hbbs
image: rustdesk/rustdesk-server:latest
environment:
- ALWAYS_USE_RELAY=Y # 强制使用中继模式
- RUST_LOG=info # 日志级别
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
hbbr:
container_name: rustdesk-hbbr
image: rustdesk/rustdesk-server:latest
environment:
- RUST_LOG=info
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
EOF
启动服务
# 启动 RustDesk 服务
docker compose up -d
# 查看服务状态
docker compose ps
# 查看日志
docker compose logs -f
🔑 获取服务密钥
部署完成后,需要获取服务端密钥用于客户端配置:
# 查看公钥(客户端配置时需要)
cat ./data/id_ed25519.pub
# 输出示例
T07pESbNfyozhAEKQNpRkVPwEayOPl598q5Vf5ZA=
重要提示
请妥善保存此密钥,客户端连接时需要使用!
📱 客户端配置指南
📥 下载客户端
访问 RustDesk Releases 下载最新版本的客户端。
推荐版本:
- Windows:MSI 安装包
- macOS:DMG 安装包
- Linux:AppImage 或 DEB/RPM 包
- Android/iOS:应用商店版本

⚙️ 配置服务器地址
在控制端和被控端都需要进行以下配置:
- 打开设置 → 点击右上角 ⚙️ 设置按钮
- 进入网络 → 选择「网络」选项卡
- 解锁设置 → 点击「解锁网络设置」
- 配置服务器 → 点击「ID/中继服务器」

📝 填写服务器信息
在弹出的配置窗口中填写以下信息:
配置项 | 填写内容 | 示例 |
---|---|---|
ID 服务器 | 服务器IP:21116 | 192.168.1.100:21116 |
中继服务器 | 服务器IP:21117 | 192.168.1.100:21117 |
API 服务器 | 留空 | - |
Key | 之前获取的公钥 | T07pESb... |

✅ 验证配置
配置完成后:
- 点击「保存」按钮
- 返回主界面
- 确认底部状态显示为「就绪」

🎯 开始远程连接
连接步骤:
- 在控制端输入被控端的 ID
- 点击「连接」按钮
- 输入被控端的连接密码
- 开始远程桌面会话!
::: success 恭喜
至此,RustDesk 自建服务部署和配置已全部完成!
:::
🔧 常见问题与解决方案
Q1: 无法连接到服务器
解决方案:
- 检查防火墙是否开放所需端口
- 确认服务器 IP 地址正确
- 验证 Docker 容器是否正常运行:
docker ps
Q2: 连接速度慢
解决方案:
- 检查网络带宽
- 考虑使用就近的服务器
- 调整 RustDesk 的图像质量设置
Q3: 密钥错误
解决方案:
- 重新获取服务端公钥:
cat ./data/id_ed25519.pub
- 确保客户端配置中的密钥与服务端一致
更多帮助
如遇其他问题,请访问 RustDesk 官方文档 或 GitHub Issues

赞助