RustDesk 开源远程控制工具部署
RustDesk概述
RustDesk 是一款基于 Rust 语言开发的开源远程控制软件,支持跨平台设备管理,提供与 TeamViewer、向日葵等商业软件类似的功能特性:
- 全平台客户端支持(Windows/macOS/Linux/Android/iOS)
- 点对点直连传输(P2P)优先保障低延迟
- 中继服务器备选方案确保连接可靠性
- 自主部署服务端掌控数据安全
Linux 服务端部署教程
一、环境准备
1. 安装 Node.js 运行环境
# 添加 NodeSource 官方源
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash
# 安装 Node.js 与 npm 包管理器
sudo apt-get install -y nodejs
# 验证版本(推荐 v18.x 以上)
node -v && npm -v
2. 部署 PM2 进程守护
# 全局安装 PM2
sudo npm install -g pm2
# 检查安装状态
pm2 --version
二、服务端组件部署
1. 获取 RustDesk 服务端程序
通过 GitHub 下载最新版本:
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.10/rustdesk-server-linux-amd64.zip
# 解压 RustDesk 服务端程序文件
unzip rustdesk-server-linux-amd64.zip -d rustdesk-server
或者可以在此获取更新:Github:RustDesk-Server
2. 核心组件说明
解压后包含三个关键组件:
hbbs
:ID注册/协调服务器(P2P穿透核心)hbbr
:中继转发服务器(备用传输通道)rustdesk-utils
:服务管理工具集
三、启动服务
cd rustdesk-server
# 启动服务并加入开机自启
pm2 start hbbs --name rustdesk-hbbs
pm2 start hbbr --name rustdesk-hbbr
pm2 save && pm2 startup
服务状态验证
pm2 list
预期输出示例(关键指标:online 状态、低内存占用):
┌────┬───────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼───────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ rustdesk-hbbr │ default │ N/A │ fork │ 40203 │ 3m │ 0 │ online │ 0.1% │ 5.1MB │ root │ disabled │
│ 1 │ rustdesk-hbbs │ default │ N/A │ fork │ 40225 │ 3m │ 0 │ online │ 0.3% │ 7.2MB │ root │ disabled │
└────┴───────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┼──────────┼──────────┘
四、密钥配置
1. 获取公钥信息
cat id_ed25519.pub
# 输出示例:nCPGWzCQVu*******bQlu2qg42w=
2. 客户端配置指引
- 打开客户端 → 设置 → 网络
填写服务器地址与公钥:
- ID 服务器:
your-domain.com
或服务器IP - 中继服务器:同ID服务器地址
- Key:粘贴获取的公钥内容
- ID 服务器:
- 保存后检查状态显示
就绪
服务架构详解
组件 | 作用 | 端口 | 协议 | 功能说明 |
---|---|---|---|---|
hbbs | 核心协调服务 | 21116 | TCP/UDP | 设备ID分配、P2P穿透协调 |
hbbr | 中继服务 | 21117 | TCP | 备用中继传输保障连接可达性 |
API | 管理接口 | 21118 | TCP | 提供RESTful API对接能力 |
端口映射提示:若服务器位于 NAT 后,需在防火墙放行以上端口
流量传输策略:优先尝试点对点打洞直连(延迟最优),当 NAT 穿透失败时自动切换至 hbbr 中继通道。