Contents

RustDesk Server 自建教程

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 -y

5.2 安装 PM2(用于进程守护)

sudo npm install pm2 -g

5.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/rustdeck
  • hbbs 是 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 save

5.7 生成密钥对(用于客户端连接验证)

./rustdesk-utils genkeypair

该命令会生成两组文件:

  • id_ed25519: 私钥,部署在服务器上
  • id_ed25519.pub: 公钥,提供给客户端,写入配置中

6. 防火墙设置


7. 客户端配置

打开客户端,找到 “设置” -> “ID/中继服务器”

  • ID 服务器:<填写腾讯云上海轻量云公网 IP>
  • 中继服务器:<填写腾讯云上海轻量云公网 IP>
  • API 服务器:<不填、留空>
  • Key:<id_ed25519.pub的内容>

以上 Mac/Windows/Linux/Android/iPhone/iPad 配置均通用


8. 备份与迁移

/opt/rustdeck 这个文件夹打包备份、迁移到新的服务器上即可,原客户端无需做任何修改。