RustDesk Server 自建教程
Contents
1. 实验环境
- 服务器提供商:腾讯云上海轻量云服务器
- 操作系统:Ubuntu 24.04 LTS
- 配置:2 核 CPU / 2 GB 内存 / 40 GB SSD
- 网络:BGP 带宽,200 Mbps 峰值
2. 什么是 RustDesk?
RustDesk 是一个开源的远程桌面软件,主打:
- 类似 TeamViewer、AnyDesk 的界面和功能
- 默认提供官方中转服务器(ID/Relay)
- 支持用户自建服务器,保障数据私密性
- 开源,客户端和服务端代码全部开放
3. RustDesk 特点
优势:
- 免费开源:无任何使用限制,开源代码可审查
- 可自建服务:防止隐私数据经由第三方服务器传输
- 轻量高效:由 Rust 编写,资源占用少
- 跨平台支持:Windows / macOS / Linux / iOS / Android 全平台支持
- 无需公网 IP 或端口映射:使用中继服务器中转,客户端使用简单
劣势:
- 界面体验相较商业软件稍显粗糙
- 部分高级功能需要手动配置(如白名单、防火墙)
- 移动端体验不如专业远程软件成熟
4. 为什么要“自建”?
将 ID Server 和 Relay Server 部署在自己的服务器上,从而:
- 避免被墙或断联
- 保证传输数据不经过第三方服务器,提高隐私安全
- 提升连接速度,尤其适用于内网或局域网传输场景
5. 安装与配置 RustDesk Server
5.1 安装 Node.js 的包管理器 npm
sudo apt update
sudo apt install npm -y5.2 安装 PM2(用于进程守护)
sudo npm install pm2 -g5.3 下载 RustDesk 服务端
curl -L -o /tmp/rustdesk-server-linux-amd64.zip https://github.com/rustdesk/rustdesk-server/releases/download/1.1.15/rustdesk-server-linux-amd64.zip如果你在国内 GitHub 速度较慢,可以先在境外 VPS 搭建 TinyProxy HTTP 代理,然后这样下载:
curl -x http://${http_proxy_ip}:${port} -L -o /tmp/rustdesk-server-linux-amd64.zip https://github.com/rustdesk/rustdesk-server/releases/download/1.1.15/rustdesk-server-linux-amd64.zip也可以通过本机下载好之后,通过 sftp 上传至腾讯云服务器上
5.4 解压并移动文件
cd /tmp
unzip rustdesk-server-linux-amd64.zip
sudo mkdir -p /opt/rustdeck
sudo mv /tmp/amd64/hbb* /opt/rustdeckhbbs是 RustDesk 的 中继服务器hbbr是 RustDesk 的 ID 注册服务器
5.5 使用 PM2 启动 RustDesk 服务
pm2 start /opt/rustdeck/hbb*成功后会看到进程类似如下:
┌────┬─────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐
│ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │
├────┼─────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤
│ 0 │ hbbr │ default │ N/A │ fork │ 10459 │ 4m │ 0 │ online │ 0% │ 2.1mb │ root │ disabled │
│ 1 │ hbbs │ default │ N/A │ fork │ 10464 │ 4m │ 0 │ online │ 0% │ 8.0mb │ root │ disabled │
└────┴─────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘5.6 设置开机自启
pm2 startup执行完后,系统会输出如下指令,请一并执行:
sudo systemctl enable pm2-root保存当前进程列表:
pm2 save5.7 生成密钥对(用于客户端连接验证)
./rustdesk-utils genkeypair该命令会生成两组文件:
id_ed25519: 私钥,部署在服务器上id_ed25519.pub: 公钥,提供给客户端,写入配置中
6. 防火墙设置
- 在腾讯云控制台安全组列表:仅开放端口 21115/21116/21117/UDP
- 如果本机通过 firewall-cmd 也设置了防火墙规则,也请通过命令放行上述端口,firewall-cmd 命令详细用法,请阅读我另外一篇博文 👉 Firewalld 端口转发教程:包含 IPv4/IPv6 双栈端口转发
7. 客户端配置
打开客户端,找到 “设置” -> “ID/中继服务器”
- ID 服务器:<填写腾讯云上海轻量云公网 IP>
- 中继服务器:<填写腾讯云上海轻量云公网 IP>
- API 服务器:<不填、留空>
- Key:<id_ed25519.pub的内容>
以上 Mac/Windows/Linux/Android/iPhone/iPad 配置均通用
8. 备份与迁移
/opt/rustdeck 这个文件夹打包备份、迁移到新的服务器上即可,原客户端无需做任何修改。