RustDesk 完整笔记

环境说明

  • 服务端:银河麒麟 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. 客户端下载

官网:https://rustdesk.com/

Github:https://github.com/rustdesk/rustdesk/releases

安装包:RustDeskSetup.exe

2. 单台手动图形配置

  1. 打开 RustDesk → 右上角 ⋮ → 设置 → 网络
  2. 解锁网络设置
  3. 填写:
  • ID服务器:麒麟服务器IP:21116
  • 中继服务器:麒麟服务器IP:21117
  • API服务器:留空
  • Key:粘贴 id_ed25519.pub 完整字符串
  1. 应用保存
  2. 首页底部 就绪(绿色) = 连通成功

重要:主控、被控 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 被控端安全优化(无人值守)

  1. 设置 → 安全 → 设置固定永久密码(不要只用临时密码)
  2. 开启:开机自启、最小化到托盘
  3. 关闭:自动接受连接(必须手动输入密码)
  4. 按需关闭:文件传输、剪贴板同步(工控/涉密机房建议关闭)

三、网页端主控(可选,无需装客户端)

浏览器访问:

复制代码
http://麒麟服务器IP:21118

⚠️ 限制:

  • 仅可作为主控,不能被控
  • 文件传输、剪贴板、音频功能受限
  • 正式运维优先 Windows 原生客户端

四、连接原理

  1. Windows 客户端启动 → 连接麒麟 hbbs(21116)注册ID、心跳、NAT打洞
  2. 主控输入被控ID发起连接
  3. 优先 P2P 直连(不消耗麒麟服务器带宽)
  4. 直连失败自动走 hbbr(21117)中继转发画面

五、故障排查(按顺序)

  1. Windows 客户端状态不是就绪

    • 测试:Windows CMD telnet 麒麟IP 21116
    • 检查:麒麟防火墙、中间交换机/安全策略、21116 TCP+UDP 是否放行
  2. 状态显示就绪,但无法建立连接

    • 公钥复制不全、存在换行/空格(最高频错误)
    • 某台 Windows 未配置服务器信息
    • 21116 UDP 被拦截,无法P2P
  3. 能连上但卡顿、延迟高

    • 未建立P2P,全部走中继;检查路由器UPnP、NAT类型
    • 客户端降低分辨率、关闭硬件加速
  4. 麒麟重启后服务没启动

    bash 复制代码
    systemctl status rustdesk-hbbs
    systemctl status rustdesk-hbbr

    未启用自启则重新执行 systemctl enable

六、重要安全注意事项

  1. id_ed25519(私钥)妥善保管,不要泄露
  2. id_ed25519.pub 公钥不要随意分发;拿到公钥+麒麟IP可尝试接入设备
  3. 内网环境:麒麟防火墙限制仅内网网段访问端口,禁止对公网开放
  4. 定期备份 /opt/rustdesk-server/ 目录(密钥在里面)

七、关键清单(备份保存)

  • 麒麟服务器IP:________
  • ID服务器地址:IP:21116
  • 中继服务器地址:IP:21117
  • 公钥:________________________________________________
  • 服务目录:/opt/rustdesk-server
  • systemd服务名:rustdesk-hbbs / rustdesk-hbbr
相关推荐
benjiangliu1 小时前
LINUX系统-19-库制作与原理(一)
linux·运维·服务器
HJX_07241 小时前
嵌入式软件C语言八股文复习笔记5——编译、链接与底层硬核机制
c语言·开发语言·笔记
摇滚侠2 小时前
《SpringBoot 3:入门与应用实战》第 15 章 生产级特性 监控指标 Metrics 阅读笔记
java·spring boot·笔记
瓦学妹2 小时前
2026亚马逊本土店怎么注册?入驻流程、资料准备与常见问题
大数据·运维·人工智能
噜~噜~噜~3 小时前
操作系统笔记-1.1.3 操作系统的特征
笔记·操作系统
杨先生哦3 小时前
【2026热端攻防系列 10/12】前端凭据安全深度攻防:Cookie/Storage劫持、会话固定、凭据泄露与浏览器最新加固方案
前端·笔记·安全·web安全
天天爱吃肉82183 小时前
# 商用车多体动力学实战笔记|第7篇:制动系统与制动热衰退、ABS滞环控制
大数据·人工智能·笔记·python·嵌入式硬件·汽车
bellus-3 小时前
win11使用ubuntu 26.04
linux·运维·ubuntu
xiaoyuchidayuma3 小时前
【交流绕组及其磁动势-典型交流绕组结构(绘制绕组展开图)】
笔记·学习