环境说明
- 服务端:银河麒麟 Linux(amd64),使用 zip 二进制包部署 hbbs + hbbr(非Docker镜像)
- 客户端:全部 Windows(主控、被控)
- 组网:内网为主(机房运维场景)
- 需求:hbbs、hbbr 设置开机自启(systemd)
一、麒麟服务端部署(zip 二进制包)
1. 下载解压
bash
# 下载官方服务端zip(amd64)
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.15/rustdesk-server-linux-amd64.zip
# 解压
unzip rustdesk-server-linux-amd64.zip
# 放到固定目录(推荐 /opt/rustdesk-server)
sudo mv amd64 /opt/rustdesk-server
cd /opt/rustdesk-server
目录结构:
/opt/rustdesk-server/
├─ hbbs
├─ hbbr
2. 首次启动生成密钥(只做一次)
bash
# 后台临时运行一次生成密钥
nohup ./hbbs &
sleep 3
pkill hbbs
执行完毕目录自动生成:
id_ed25519私钥(保密,不要外传)id_ed25519.pub公钥(Windows 客户端全部要用)
查看公钥,完整复制保存,不能加换行、空格
bash
cat id_ed25519.pub
3. 防火墙放行端口(麒麟 firewalld)
bash
sudo firewall-cmd --permanent --add-port=21115/tcp
sudo firewall-cmd --permanent --add-port=21116/tcp
sudo firewall-cmd --permanent --add-port=21116/udp
sudo firewall-cmd --permanent --add-port=21117/tcp
sudo firewall-cmd --permanent --add-port=21118/tcp
sudo firewall-cmd --permanent --add-port=21119/tcp
sudo firewall-cmd --reload
端口用途:
- hbbs:21115(TCP)、21116(TCP+UDP)、21118(TCP 网页主控)
- hbbr:21117(TCP)、21119(TCP)
4. systemd 开机自启(重点!zip 二进制方案)
4.1 创建 hbbs 服务文件
bash
vim /etc/systemd/system/rustdesk-hbbs.service
内容:
ini
[Unit]
Description=RustDesk hbbs (ID/信令服务器)
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/rustdesk-server
ExecStart=/opt/rustdesk-server/hbbs
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
4.2 创建 hbbr 服务文件
bash
vim /etc/systemd/system/rustdesk-hbbr.service
内容:
ini
[Unit]
Description=RustDesk hbbr (中继服务器)
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/rustdesk-server
ExecStart=/opt/rustdesk-server/hbbr
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
4.3 加载、启用、启动服务
bash
# 重载systemd识别新服务
sudo systemctl daemon-reload
# 设置开机自启
sudo systemctl enable rustdesk-hbbs
sudo systemctl enable rustdesk-hbbr
# 立即启动
sudo systemctl start rustdesk-hbbs
sudo systemctl start rustdesk-hbbr
4.4 日常运维命令
bash
# 查看状态
systemctl status rustdesk-hbbs
systemctl status rustdesk-hbbr
# 实时日志
journalctl -u rustdesk-hbbs -f
journalctl -u rustdesk-hbbr -f
# 重启
systemctl restart rustdesk-hbbs
systemctl restart rustdesk-hbbr
✅ 重启麒麟服务器后,hbbs、hbbr 将自动拉起。
二、Windows 客户端配置(所有 Windows 统一配置)
1. 客户端下载
Github:https://github.com/rustdesk/rustdesk/releases
安装包:RustDeskSetup.exe
2. 单台手动图形配置
- 打开 RustDesk → 右上角 ⋮ → 设置 → 网络
- 解锁网络设置
- 填写:
- ID服务器:
麒麟服务器IP:21116 - 中继服务器:
麒麟服务器IP:21117 - API服务器:留空
- Key:粘贴
id_ed25519.pub完整字符串
- 应用保存
- 首页底部 就绪(绿色) = 连通成功
重要:主控、被控 Windows 全部都要填这套参数,只配一侧无法连接。
3. Windows 批量静默部署(机房批量被控机)
3.1 静默安装
管理员 CMD 执行:
cmd
RustDeskSetup.exe /install /silent
3.2 注册表脚本(管理员运行,持久策略)
新建 RustDesk_Config.bat
batch
@echo off
set "SERVER=麒麟服务器IP:21116"
set "RELAY=麒麟服务器IP:21117"
set "PUBKEY=粘贴你的完整公钥"
reg add "HKLM\SOFTWARE\Policies\RustDesk" /v "rendezvous_server" /t REG_SZ /d "%SERVER%" /f
reg add "HKLM\SOFTWARE\Policies\RustDesk" /v "relay_server" /t REG_SZ /d "%RELAY%" /f
reg add "HKLM\SOFTWARE\Policies\RustDesk" /v "rs_pk" /t REG_SZ /d "%PUBKEY%" /f
HKLM 策略:机器级别,重装客户端配置不丢失。
4. Windows 被控端安全优化(无人值守)
- 设置 → 安全 → 设置固定永久密码(不要只用临时密码)
- 开启:开机自启、最小化到托盘
- 关闭:自动接受连接(必须手动输入密码)
- 按需关闭:文件传输、剪贴板同步(工控/涉密机房建议关闭)
三、网页端主控(可选,无需装客户端)
浏览器访问:
http://麒麟服务器IP:21118
⚠️ 限制:
- 仅可作为主控,不能被控
- 文件传输、剪贴板、音频功能受限
- 正式运维优先 Windows 原生客户端
四、连接原理
- Windows 客户端启动 → 连接麒麟 hbbs(21116)注册ID、心跳、NAT打洞
- 主控输入被控ID发起连接
- 优先 P2P 直连(不消耗麒麟服务器带宽)
- 直连失败自动走 hbbr(21117)中继转发画面
五、故障排查(按顺序)
-
Windows 客户端状态不是就绪
- 测试:Windows CMD
telnet 麒麟IP 21116 - 检查:麒麟防火墙、中间交换机/安全策略、21116 TCP+UDP 是否放行
- 测试:Windows CMD
-
状态显示就绪,但无法建立连接
- 公钥复制不全、存在换行/空格(最高频错误)
- 某台 Windows 未配置服务器信息
- 21116 UDP 被拦截,无法P2P
-
能连上但卡顿、延迟高
- 未建立P2P,全部走中继;检查路由器UPnP、NAT类型
- 客户端降低分辨率、关闭硬件加速
-
麒麟重启后服务没启动
bashsystemctl status rustdesk-hbbs systemctl status rustdesk-hbbr未启用自启则重新执行
systemctl enable
六、重要安全注意事项
id_ed25519(私钥)妥善保管,不要泄露id_ed25519.pub公钥不要随意分发;拿到公钥+麒麟IP可尝试接入设备- 内网环境:麒麟防火墙限制仅内网网段访问端口,禁止对公网开放
- 定期备份
/opt/rustdesk-server/目录(密钥在里面)
七、关键清单(备份保存)
- 麒麟服务器IP:________
- ID服务器地址:IP:21116
- 中继服务器地址:IP:21117
- 公钥:________________________________________________
- 服务目录:/opt/rustdesk-server
- systemd服务名:rustdesk-hbbs / rustdesk-hbbr