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
相关推荐
吴声子夜歌11 小时前
Shell编程——函数
linux·运维·shell
PC2005-cloud12 小时前
Qdrant 连接失败排查:localhost 解析到 __1,而 Docker 只绑了 IPv4
运维·docker·容器
电子制造自留地12 小时前
AI服务器PCB的超低损耗材料选型逻辑
运维·服务器·人工智能·科技·制造·科普·pcb工艺
巧克力味的桃子12 小时前
模拟大厂大模型方向面试题
笔记
Peng71112 小时前
浙大数据可视化课程学习笔记
笔记·学习·信息可视化
今儿敲了吗12 小时前
02词云生成器
笔记·python
hanlin0312 小时前
刷题笔记:力扣第287题-寻找重复数
笔记·算法·leetcode
蓝速科技13 小时前
会议室门牌触控预约选型与落地实战指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
PatrickYao042213 小时前
Linux安装UV
linux·运维·uv
你想知道什么?13 小时前
神经网络-学习笔记
笔记·神经网络·学习