Debian12部署rustdesk服务
在 Debian 12 (Bookworm) 上部署 RustDesk 服务端主要有两种推荐方式:Docker 部署(最简单、推荐)和 二进制文件直接部署(适合无 Docker 环境)。
RustDesk 服务端包含两个核心组件:
- hbbs: ID/注册服务器(处理握手、NAT 穿透信令)。
- hbbr: 中继服务器(当 P2P 直连失败时,用于转发数据)。
以下是详细部署步骤:
方法一:使用 Docker 部署(推荐)
这是最快捷且易于维护的方式,官方提供了现成的镜像。
1. 安装 Docker
如果尚未安装 Docker,请先执行以下命令:
sudo apt update
sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker
2. 创建数据目录
创建一个目录用于持久化存储密钥和数据:
mkdir -p /opt/rustdesk/data
cd /opt/rustdesk
3. 启动服务
使用 docker run 命令启动 hbbs 和 hbbr。
注意:请确保防火墙开放了以下端口:
- TCP: 21115, 21116, 21118
- UDP: 21116
- TCP/UDP: 21119 (Web 客户端支持,可选)
运行以下命令(将 <YOUR_SERVER_IP> 替换为你的服务器公网 IP):
# 启动 hbbs (ID 服务器)
sudo docker run --name hbbs -v ./data:/root -d \
--net=host \
--restart=unless-stopped \
rustdesk/rustdesk-server:latest hbbs -r <YOUR_SERVER_IP>:21117
# 启动 hbbr (中继服务器)
sudo docker run --name hbbr -v ./data:/root -d \
--net=host \
--restart=unless-stopped \
rustdesk/rustdesk-server:latest hbbr
注:使用 --net=host 模式可以简化端口映射,性能也更好。如果不使用 host 模式,需要手动 -p 映射所有上述端口。
4. 获取密钥 (Key)
RustDesk 客户端连接自建服务器时需要验证密钥。密钥生成在 ./data 目录下。
查看生成的公钥(id_ed25519.pub):
cat ./data/id_ed25519.pub
复制输出的字符串(通常是一串字符),这就是你的 Key。
方法二:二进制文件直接部署
如果你不想安装 Docker,可以直接下载官方编译好的二进制文件。
1. 下载服务端程序
前往 RustDesk Server Releases 下载最新版本的 Linux amd64 包(假设是 x86_64 架构):
cd /opt
# 请检查官网最新版本号,此处以示例版本号演示
wget https://github.com/rustdesk/rustdesk-server/releases/download/v1.1.10/rustdesk-server-linux-x64.zip
# 如果没有 unzip,先安装:sudo apt install unzip
unzip rustdesk-server-linux-x64.zip
cd rustdesk-server
2. 配置 systemd 服务
为了开机自启和后台运行,我们创建 systemd 服务文件。
创建 hbbs 服务:
sudo nano /etc/systemd/system/hbbs.service
填入以下内容(将 <YOUR_SERVER_IP> 替换为你的公网 IP):
[Unit]
Description=RustDesk ID Server
After=network.target
[Service]
Type=simple
ExecStart=/opt/rustdesk-server/hbbs -r <YOUR_SERVER_IP>:21117
WorkingDirectory=/opt/rustdesk-server
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
创建 hbbr 服务:
sudo nano /etc/systemd/system/hbbr.service
填入以下内容:
[Unit]
Description=RustDesk Relay Server
After=network.target
[Service]
Type=simple
ExecStart=/opt/rustdesk-server/hbbr
WorkingDirectory=/opt/rustdesk-server
Restart=on-failure
User=root
[Install]
WantedBy=multi-user.target
3. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable --now hbbs
sudo systemctl enable --now hbbr
4. 获取密钥
密钥文件通常会生成在当前运行目录下(即 /opt/rustdesk-server):
cat /opt/rustdesk-server/id_ed25519.pub
复制输出的内容作为 Key。
关键配置:防火墙设置
无论使用哪种方法,都必须在服务器防火墙放行相关端口。
如果使用 UFW (Debian 默认可能未安装,若已安装):
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp
sudo ufw allow 21119/udp
sudo ufw reload
如果使用 iptables 或云厂商安全组(阿里云/腾讯云/AWS 等): 请在云控制台的“安全组”或“防火墙”规则中,添加入站规则,允许上述端口的 TCP 和 UDP 流量。
- 21115 (TCP): NAT 类型测试
- 21116 (TCP/UDP): ID 注册与心跳服务 (核心)
- 21118 (TCP): 网页客户端支持
- 21119 (TCP/UDP): 中继服务 (hbbr)
客户端连接配置
- 下载并安装 RustDesk 客户端(Windows/Mac/Linux/Android/iOS)。
- 打开客户端,点击右下角的 “网络” 或进入 设置 -> 网络。
- 填写以下信息:
- ID 服务器:
<你的服务器IP>:21116 - 中继服务器:
<你的服务器IP>:21117(注意:这里通常填 21117,虽然 hbbr 监听 21119,但在配置中常指向同一入口或根据版本不同,新版客户端若分开填,中继填 21119 或直接留空让 hbbs 转发,建议测试。根据官方文档,-r参数指定的是 relay 地址,客户端配置中的 "Relay Server" 通常填写<IP>:21117或者<IP>:21119,具体取决于版本。修正:标准配置中,ID 服务器填IP:21116,中继服务器填IP:21117是指向 hbbs 的转发,或者直接填IP:21119指向 hbbr。最稳妥的方式是:ID 服务器填IP:21116,Key 填入下方,中继服务器可不填或填IP:21119)。 - API 服务器: (可选)
http://<你的服务器IP>:21118 - Key: 粘贴之前获取的
id_ed25519.pub内容。
- ID 服务器:
- 保存后,状态栏应显示“就绪”或绿色连接图标。
常见问题排查
- 连接超时:90% 的情况是防火墙或云服务商的安全组端口未放开。请重点检查 21116 (UDP 和 TCP) 是否通畅。
- 黑屏或卡顿:尝试在客户端设置中关闭“启用硬件解码”或切换“直连模式”。如果是内网穿透失败走中继,带宽不足也会导致卡顿。
- Key 错误:确保复制的 Key 没有多余的空格或换行符。如果重新部署了服务且删除了
data目录,Key 会变化,客户端需更新 Key。
通过以上步骤,你就可以在 Debian 12 上拥有一个完全自控的高速远程桌面服务了。
admin
2026-03-22 19:27在 RustDesk 客户端(Windows/Mac/Linux/Android/iOS)的 **网络 (Network)** 设置中,填写示例如下。 假设你的服务器公网 IP 是:`123.45.67.89` *(请将下文中的 `123.45.67.89` 替换为你真实的服务器 IP)* 假设你的密钥是:`rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=` *(请替换为你刚才提取的纯净密钥,不要带空格)* --- ### ✅ 标准填写示例 | 设置项 | 填写内容示例 | 说明 | | :--- | :--- | :--- | | **ID 服务器**(ID Server) | `123.45.67.89:21116` | **必填**。格式为 `IP:端口`。端口默认为 **21116**。 | | **密钥**(Key) | `rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=` | **必填**。必须与服务器 `id_ed25519.pub` 内容完全一致。**注意**:前后不能有空格或换行。 | | **中继服务器**(Relay Server) | `123.45.67.89:21117` | **必填**(建议填)。格式为 `IP:端口`。端口默认为 **21117** (这是 hbbs 的转发入口)。 | | **API 服务器**(API Server) | `http://123.45.67.89:21118` | **选填**。如果你不需要使用网页版客户端或地址簿功能,可以留空。如果填写,需带上 `http://` 前缀,端口通常为 **21118**。 | --- ### 📝 详细操作截图指引 (文字版) 1. 打开 RustDesk 客户端。 2. 点击主界面右下角的 **⚙️ (设置)** 或直接点击 **🌐 (网络)** 按钮。 3. 在弹出的窗口中依次填入: * **ID 服务器**: `123.45.67.89:21116` * **密钥**: `rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=` * **中继服务器**: `123.45.67.89:21117` * **API 服务器**: `http://123.45.67.89:21118` (可选) 4. 点击 **应用 (Apply)** 或 **保存**。 5. **重要步骤**:关闭并重新启动 RustDesk 客户端,或者右键点击任务栏托盘图标选择“退出”,然后重新打开,以确保配置生效。 --- ### 🔍 验证是否成功 配置保存并重启客户端后,观察主界面底部状态栏: * **✅ 成功状态**: * 显示绿色或蓝色的点。 * 文字显示:**“就绪” (Ready)**。 * 下方小字显示你的 ID 号码(例如:`123 456 789`)。 * 此时你可以尝试连接同一网络下的另一台安装了 RustDesk 的设备进行测试。 * **❌ 失败状态**: * 显示红色或黄色的点。 * 文字显示:**“网络错误”**、**“连接中...”** 或 **“Key 不匹配”**。 * **排查**: 1. 检查服务器防火墙(安全组)是否放行了 **21116 (TCP+UDP)** 和 **21119 (TCP+UDP)**。 2. 检查密钥是否有空格。 3. 检查 IP 是否填写正确(不要加 `http://` 在 ID 服务器栏)。 ### 💡 常见问题提示 * **API 服务器一定要填吗?** * 如果你只是用来远程桌面控制(点对点或中继),**不需要填** API 服务器。 * 只有当你需要使用 **RustDesk 网页版客户端** (在浏览器里访问) 或者使用 **地址簿/用户登录** 功能时,才需要配置 API 服务器并确保 `hbbs` 启动了 Web 服务(默认端口 21118)。 * **中继服务器填 21117 还是 21119?** * 官方推荐客户端填 **21117**。`hbbs` 会监听 21117 并将流量转发给 `hbbr` (实际监听 21119)。这样配置最稳妥。