目标:在 Debian 服务器上自建 RustDesk ID/中继服务器,用自己的服务器完成设备发现和中继。
准备环境
- Debian 11 / 12。
- root 或 sudo 权限。
- 一台有公网 IP 的服务器。
- 域名可选,直接用 IP 也可以。
默认端口:
| 端口 | 协议 | 用途 |
|---|---|---|
21114 |
TCP/UDP | 客户端心跳 |
21115 |
TCP | 文件传输 |
21116 |
TCP | 桌面控制 |
21117 |
TCP | hbbs 额外端口 / 中继配置 |
安装依赖
apt update
apt upgrade -y
apt install -y curl wget unzip
下载服务端
到 RustDesk Release 页面确认版本:
https://github.com/rustdesk/rustdesk/releases
以 Linux amd64 为例:
wget https://github.com/rustdesk/rustdesk/releases/download/1.2.6/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip
cd rustdesk-server-linux-amd64
解压后主要文件:
hbbs:ID / 信令服务器。hbbr:中继服务器。
生成密钥
./hbbs -g
生成:
id_ed25519id_ed25519.pub
移动到配置目录:
mkdir -p /root/.config/rustdesk
mv id_ed25519* /root/.config/rustdesk/
客户端配置里需要填写 id_ed25519.pub 的内容。不要把私钥发给客户端。
临时启动测试
先启动中继:
./hbbr &
再启动 ID 服务,并指定公网地址:
./hbbs -r YOUR_PUBLIC_IP:21117 &
systemd 开机自启
假设程序目录是:
/root/rustdesk-server-linux-amd64
创建 /etc/systemd/system/hbbs.service:
[Unit]
Description=RustDesk Signal Server (hbbs)
After=network.target
[Service]
ExecStart=/root/rustdesk-server-linux-amd64/hbbs -r YOUR_PUBLIC_IP:21117
WorkingDirectory=/root/rustdesk-server-linux-amd64
Restart=always
User=root
[Install]
WantedBy=multi-user.target
创建 /etc/systemd/system/hbbr.service:
[Unit]
Description=RustDesk Relay Server (hbbr)
After=network.target
[Service]
ExecStart=/root/rustdesk-server-linux-amd64/hbbr
WorkingDirectory=/root/rustdesk-server-linux-amd64
Restart=always
User=root
[Install]
WantedBy=multi-user.target
启用并启动:
systemctl daemon-reload
systemctl enable --now hbbs hbbr
systemctl status hbbs hbbr
查看日志:
journalctl -u hbbs -e
journalctl -u hbbr -e
客户端配置
RustDesk 客户端:
- 设置 -> 网络。
ID Server填服务器 IP 或域名。Relay Server填服务器 IP 或域名。Key填id_ed25519.pub文件内容。
验证
- 客户端能获取 ID:
hbbs正常。 - 能远程控制:
hbbr正常。 - 连接失败:检查端口、防火墙、服务状态和客户端 Key。
防火墙示例
如果使用 ufw:
ufw allow 21114
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21117/tcp
ufw reload
如果是云服务器,还要在云厂商安全组里放行对应端口。
常见问题
- 客户端 ID 不刷新:检查
hbbs是否运行,ID Server 是否填对。 - 只能看到设备但连不上:检查
hbbr、中继端口和防火墙。 - Key 错误:重新复制
id_ed25519.pub,不要复制私钥。 - 服务重启失败:检查
WorkingDirectory和二进制路径是否正确。