Files
server-deploy/rustdesk/README.md
2026-04-24 11:13:49 +08:00

4.1 KiB
Raw Blame History

RustDesk Server 部署指南

开源远程桌面服务器支持自托管数据完全自主可控。包含信号服务器hbbs和中继服务器hbbr客户端支持 Windows、macOS、Linux、iOS、Android。

功能特性

  • 自建信号服务器hbbs+ 中继服务器hbbr
  • 端到端加密,数据不经过第三方
  • 支持 TCP 打洞和中继转发
  • 自动生成 Ed25519 密钥对
  • 支持仅加密连接模式
  • 跨平台客户端支持
  • WebSocket 支持(可通过 Nginx 代理)

技术栈

组件 版本 说明
RustDesk Server latest 信号服务器 + 中继服务器
Nginx 系统包 反向代理 + HTTPSWebSocket
Docker 最新版 容器运行环境

端口说明

端口 协议 服务 说明
21115 TCP hbbs NAT 类型测试
21116 TCP hbbs TCP 打洞 / 连接请求
21116 UDP hbbs ID 注册 / 心跳
21117 TCP hbbr 中继流量转发
21118 WS hbbs WebSocket仅本地监听
21119 WS hbbr WebSocket仅本地监听

21115、21116、21117 需要从外网可访问21118/21119 仅本地通过 Nginx 代理。

前置条件

  1. 一台 Linux 服务器Ubuntu 22.04/24.04 推荐)
  2. 一个已解析到服务器的域名(如 rustdesk.example.com
  3. 服务器 80/443 端口可从外网访问
  4. 服务器 21115-21117 端口可从外网访问

目录结构

rustdesk/
├── docker-compose.yml    # 容器编排hbbs + hbbr
├── .env.example          # 配置模板
├── deploy.sh             # 一键部署脚本
├── backup.sh             # 备份脚本
├── uninstall.sh          # 完全卸载脚本
├── nginx/
│   └── rustdesk.conf     # Nginx 反向代理配置
└── README.md             # 本文件

服务器上的数据目录:

/var/lib/rustdesk/        # RustDesk 数据(密钥对 + 数据库)
/var/backups/rustdesk/    # 备份文件

快速部署

第一步:上传文件到服务器

# 在本地执行,上传 rustdesk 目录
scp -r rustdesk/ root@<服务器IP>:/opt/rustdesk

# 如果服务器上还没有部署过 base首台服务或全新服务器还需上传 base
scp -r base/ root@<服务器IP>:/opt/base

第二步:登录服务器执行部署

ssh root@<服务器IP>

# 如果是全新服务器,先安装基础环境
cd /opt/base
cp .env.example .env
bash setup.sh

# 部署 RustDesk
cd /opt/rustdesk
bash deploy.sh
# 首次运行会生成 .env按提示修改配置后重新运行
vi .env
bash deploy.sh

第三步:配置域名解析

在域名服务商(如阿里云 DNS添加 A 记录:

记录类型 主机记录 记录值
A rustdesk <服务器公网IP>

第四步:配置 RustDesk 客户端

  1. 下载并安装 RustDesk 客户端
  2. 打开客户端,进入 设置 → 网络 → ID/中继服务器
  3. 填入以下信息:
配置项
ID 服务器 rustdesk.yourdomain.com
中继服务器 rustdesk.yourdomain.com
Key 部署完成时显示的公钥

公钥获取方法: 部署脚本完成时会自动显示公钥,也可手动查看:

cat /var/lib/rustdesk/id_ed25519.pub

常用操作

# 查看服务状态
cd /opt/rustdesk && docker compose ps

# 查看日志
cd /opt/rustdesk && docker compose logs -f

# 重启服务
cd /opt/rustdesk && docker compose restart

# 停止服务
cd /opt/rustdesk && docker compose down

# 备份数据
cd /opt/rustdesk && bash backup.sh

# 查看公钥
cat /var/lib/rustdesk/id_ed25519.pub

# 更新镜像
cd /opt/rustdesk && docker compose pull && docker compose up -d

安全建议

  • 默认开启 ENCRYPTED_ONLY=1,仅允许加密连接
  • 密钥对文件(id_ed25519 / id_ed25519.pub)是最重要的数据,务必备份
  • 如需更换密钥对,删除数据目录中的密钥文件后重启服务即可重新生成
  • 建议定期执行 bash backup.sh 并将备份异地存储