折腾记录

福利推荐-办理成功后可加微信领取20红包

【实战指南】Windows Server 一键搭建RustDesk私有服务器

2025-05-22 21:25:57 michael007js 8

本文参考 : 只会 Windows 也能轻松搭建远程桌面 RustDesk 自用服务器-CSDN博客 博客 rustdesk 开源版单文件客户端免输入设置中继服务器给客户开箱即用 - 飘在云端

官网文件下载:Windows & PM2 或 NSSM :: RustDesk 的文档

根据以上文章结合实际搭建过程中遇到的问题重新整理汇总而成。记录一下 ,分享给需要的人。

本文特色
  • 专为 Windows 用户优化,无需 Linux 基础

  • 整合官方文档 + 实战踩坑经验

  • 关键步骤配截图和命令,小白也能轻松搭建


RustDesk 核心优势

特性说明
完全开源代码托管在 GitHub,可审计可修改
全平台支持Windows/macOS/Linux/Android/iOS/网页版
自托管中继数据自主可控,摆脱官方服务器流量限制
对称连接不区分控制端/受控端,任意设备可互相控制


RustDesk 的连接原理

非常简单,就是通过 ID 中继服务器识别双方,然后再由服务器返回指令让双方直接建立连接。

如果双方无法直接建立连接,那么 ID 中继服务器就充当中间人在连接双方之间来回传递数据和信息。

————————————————


在正式开始说明前,我们先来了解一些有助于我们理解的概念术语!

基础概念

1.核心服务组件

服务作用默认端口
hbbs.exeID 注册服务器(管理设备连接)21115(TCP) 21116(TCP/UDP) 21118(TCP)
hbbr.exe中继服务器(数据传输中转)21117(TCP) 21119(TCP)

通常这两个服务器 可以是在同一台机器中运行。

务必在防火墙开启这几个端口, 注意 21116 要同时开启 TCP 和 UDP

TCP/21115 - hbbs 用作 NAT 类型测试

UDP/21116 - hbbs 用作 ID 注册与心跳服务

TCP/21116 - hbbs 用作 TCP 打洞与连接服务

TCP/21117 - hbbr 用作中继服务

TCP/21118/21119 - 网页客户端

————————————————

服务端搭建(5步完成)

步骤 1:安装 NodeJS 和 PM2
  1. img

  • npm install -g pm2

    npm install pm2-windows-startup -g

    pm2-startup install
    bash

第一条命令:

npm install -g pm2

img

第二条命令:

npm install pm2-windows-startup -g

img

第三条命令:

pm2-startup install

img



  • cd C:\rustdesk-server

    pm2 start hbbs.exe

    pm2 start hbbr.exe

    pm2 save  # 保存配置实现开机自启

    pm2 list  # 验证服务状态应为"online"
    bash


  1. 管理运行

    ID注册服务器hbbs

    中继服务器 hbbr

    1. 一切准备就绪了,我们可以用 pm2 管理并运行 ID 注册服务器 hbbs 和中继服务器 hbbr 了。

进入到 rustdesk 解压后的目录。

img


3.1 运行 CMD命令:

cd c:\rustdesk-server//你解压后的RustDesk目录

img

3.2 运行 :pm2 start hbbs.exe很好,online 状态

img

3.3 运行 pm2 start hbbr.exe

img

非常完美,我们把它保存起来,下次重启后还能跟着系统自动启动多好。

3.4 保存设置 pm2 save

img

假如你不放心,还想看看它工作的样子,可以随时将它再打印出来查看。

pm2 list

img


很好,online 状态,再瞅瞅进程信息,用的是 node.exe 。


img


全部运行后 查看端口状态:

输入 netstat -anp tcp--查看TCP端口21115-21119


img

netstat -anp udp--查看UDP端口 2116

img



以上步骤服务器端设置完成.服务器会自动生成 key.

服务端key文件保存位置: 当前文件夹下 id.pub 文件。 打开文件 可以看到他的Key 值。

例如:JVLuW38EvmRy=

img



步骤 5:获取公钥
  • 服务端自动生成 id_ed25519.pub 文件

  • 用记事本打开该文件,内容即为中继服务器公钥(客户端配置需用到)


常见问题排查

问题现象解决方案
端口未监听检查防火墙规则,重启 PM2:pm2 restart hbbs hbbr
客户端无法连接确认公钥是否正确,测试外网能否访问服务端 IP+端口
PM2 服务未开机启动重新执行 pm2-startup installpm2 save


--------------------------------------------服务端配置完成---------------------------------------------------------

一键配置 RustDesk 客户端:免设置开箱即用方案(Windows 专属)


痛点分析

使用自建 RustDesk 中继服务器时,传统方式需要手动配置客户端,步骤繁琐:

  1. 下载官方客户端

  2. 手动填写中继服务器地址和公钥

  3. 处理 UAC 提权问题(否则可能无法正常控制远程设备)

问题:普通用户难以操作,每次协助都要重复指导,效率极低!

解决方案通过预配置文件名,实现客户端自动加载中继服务器设置 + 自动申请 UAC 提权(无需用户手动干预)。


操作步骤

生成预配置的客户端文件名

只需将 RustDesk 客户端文件重命名为以下格式:

rustdesk-host=<IP或域名>,key=<公钥>,-qs.exe
bash


示例

rustdesk-host=192.168.0.188,key=JVLuW38EvmRy=,-qs.exe
bash
发送给用户
  • 用户下载后,直接双击运行,无需任何额外设置。

  • 客户端会自动:

    • 加载中继服务器配置

    • 申请 UAC 提权(避免权限不足导致控制失败)

验证是否生效

用户可在 RustDesk 客户端 「关于」 页面查看是否成功加载中继服务器信息:

  • 如果显示你的自建服务器地址和公钥 → 配置成功!

  • 如果空白 → 文件名格式可能有误,请检查!

img


客户端设置完成。接下来就可以愉快的和对方控制了。


----------------------------------客户端配置结束----------------------------------------------


跨中继直连秘籍:控制端免配置终极方案


应用场景
  • 企业内网跨区域设备管理

  • 远程协助使用不同中继服务器的设备

  • 临时紧急连接(无需预先配置客户端)


核心语法(三步构建连接地址)

<受控端ID>/r@<中继地址>?key=<公钥>

参数说明
/r强制走中继(绕过P2P直连)
@地址分隔符(不可省略)
?key=中继服务器身份验证(需与服务端公钥一致)


实战演示

情景模拟
  • 受控端ID:80535985

  • 受控端中继地址:192.168.0.188

  • 受控端公钥:JVLuW38EvmRy=

连接地址生成
80535985/r@192.168.0.188?key=JVLuW38EvmRy=
操作步骤
  1. 打开 RustDesk 控制端

  2. 在「远程ID」输入框粘贴完整地址

  3. 点击「连接」立即建立远程控制



首页
关于博主
我的博客
搜索