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 上拥有一个完全自控的高速远程桌面服务了。
在 RustDesk 客户端(Windows/Mac/Linux/Android/iOS)的 网络 (Network) 设置中,填写示例如下。
假设你的服务器公网 IP 是:
123.45.67.89(请将下文中的123.45.67.89替换为你真实的服务器 IP) 假设你的密钥是:rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=(请替换为你刚才提取的纯净密钥,不要带空格)✅ 标准填写示例
123.45.67.89:21116IP:端口。端口默认为 21116。rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=id_ed25519.pub内容完全一致。注意:前后不能有空格或换行。123.45.67.89:21117IP:端口。端口默认为 21117 (这是 hbbs 的转发入口)。http://123.45.67.89:21118http://前缀,端口通常为 21118。📝 详细操作截图指引 (文字版)
123.45.67.89:21116rg8ca8mkMvXGdeQ9O3HVVMTgPFmL0fnWw4XbodfVUAA=123.45.67.89:21117http://123.45.67.89:21118(可选)🔍 验证是否成功
配置保存并重启客户端后,观察主界面底部状态栏:
✅ 成功状态:
123 456 789)。❌ 失败状态:
http://在 ID 服务器栏)。💡 常见问题提示
hbbs启动了 Web 服务(默认端口 21118)。hbbs会监听 21117 并将流量转发给hbbr(实际监听 21119)。这样配置最稳妥。