RustDesk 开源版自建中继服务器:阿里云轻量服务器 + 1Panel 部署
发布于
# Tools
RustDesk 开源版自建中继服务器:阿里云轻量服务器 + 1Panel 部署教程
1. 概述
- 教程目标:在阿里云轻量应用服务器上安装 1Panel,通过 1Panel 应用商店部署 RustDesk 开源版自托管服务器,把 Windows 电脑和 Android 手机接入自己的 ID/中继网络,用于远程桌面连接。
- 需要准备:
- 一台有公网 IP 的 Linux 云服务器,建议选择 Ubuntu 22.04 LTS、Debian 11/12 或 1Panel 官方支持的主流 Linux 发行版。
- 服务器
root或具备 sudo 权限的账号。 - 本地电脑上的 SSH 工具,例如 Finalshell、PuTTY、Windows Terminal、PowerShell OpenSSH。
- RustDesk 客户端安装包,Windows 端和 Android 端均从 RustDesk 官网下载。
- 服务器公网 IP 或已解析到该服务器的域名。
- 1Panel 安装后输出的面板访问地址、用户名、密码和安全入口。
- RustDesk 服务端生成的
id_ed25519.pub公钥内容。
2. 详细步骤
步骤 1:购买并初始化阿里云轻量应用服务器
- 打开阿里云控制台,进入轻量应用服务器购买页面进行购买,具体可参考上一篇文章。
- 购买完成后,在轻量应用服务器控制台打开目标实例,进入服务器详情页,重置
root密码。 - 在服务器详情页执行重启,等待实例状态恢复为运行中。
- 记录服务器公网 IP,后续步骤用
<服务器公网IP>代替。
步骤 2:在阿里云轻量服务器防火墙放行端口
- 打开阿里云轻量应用服务器控制台,进入目标服务器详情页,点击顶部或左侧的“防火墙”页签。
- 点击“添加规则”,添加
TCP协议端口22,来源 IP 填0.0.0.0/0或你的固定公网 IP。 - 点击“添加规则”,添加 1Panel 面板访问端口;如果你后续使用安装输出里的
13065,就添加TCP 13065,如果安装输出是其他端口,就添加安装输出中的端口。 - 点击“添加规则”,添加 RustDesk 服务端端口
TCP 21115、TCP 21116、TCP 21117、TCP 21118、TCP 21119。 - 点击“添加规则”,添加 RustDesk 服务端端口
UDP 21116。 - 保存规则后,在防火墙规则列表确认这些规则处于启用状态。
步骤 3:通过 SSH 安装 1Panel
- 打开 PuTTY,在
Host Name (or IP address)输入<服务器公网IP>,Port输入22,点击Open。 - 首次连接时,在 PuTTY 的
Security Alert弹窗中点击Accept。 - 在
login as:输入root,按回车,继续输入服务器密码并按回车。 - 登录成功后,在命令行执行 1Panel 官方在线安装命令:
bash -c "$(curl -sSL https://resource.1panel.pro/v2/quick_start.sh)"
- 按安装脚本提示完成配置,安装完成后复制终端输出的面板访问地址,格式通常类似
http://<服务器公网IP>:<端口>/<安全入口>。 - 在本地浏览器打开安装输出的面板访问地址,输入安装输出的 1Panel 用户名和密码,完成首次登录。
步骤 4:在 1Panel 应用商店部署 RustDesk
- 登录 1Panel 后,点击左侧菜单“应用商店”。
- 在应用商店搜索框输入
RustDesk,打开 RustDesk 应用详情页,点击“安装”。 - 在安装表单中确认应用名称、端口、存储路径和其他必填参数;如果页面提供“端口外部访问”或同类开关,勾选该开关。
- 在安装表单中把服务端 IP、域名或监听地址填为
<服务器公网IP>或你的域名;如果页面要求监听所有网卡,可填0.0.0.0。 - 点击“确认”或“安装”,等待 RustDesk 应用状态变为“已启动”。
- 进入 1Panel 的“应用商店”下的“已安装”页面,打开 RustDesk 应用详情,找到挂载的数据目录。
- 在 RustDesk 数据目录中打开
id_ed25519.pub,完整复制文件里的公钥字符串,保存到本地记事本,后续客户端配置要使用。
步骤 5:安装并配置 Windows 客户端
- 打开
https://rustdesk.com/,进入下载页,下载 Windows 客户端安装包。 - 在被控 Windows 电脑上运行 RustDesk 客户端,点击主界面左下角的“安装”或
Install,将 RustDesk 安装为系统服务。 - 在 RustDesk 主界面点击 ID 旁边的菜单按钮,进入“网络”或
Network。 - 点击“解锁网络设置”,按系统提示授权。
- 在
ID Server输入<服务器公网IP>或已解析的域名。 - 在
Relay Server输入<服务器公网IP>或已解析的域名;如果客户端版本支持自动推断,也可以先留空,连接不稳定时再显式填写。 API Server保持空白。- 在
Key输入框粘贴id_ed25519.pub文件里的完整公钥字符串。 - 点击“应用”或“确定”,回到 RustDesk 主界面,查看左下角状态是否变为“就绪”或
Ready。
步骤 6:安装并配置 Android 客户端
- 在 Android 手机上打开
https://rustdesk.com/,下载官方 Android APK 或进入官方提供的应用商店入口安装 RustDesk。 - 打开 Android RustDesk,点击左上角菜单,进入“ID/中继服务器”或同类网络设置页面。
- 在
ID Server输入<服务器公网IP>或已解析的域名。 - 在
Relay Server输入<服务器公网IP>或已解析的域名;如果客户端版本支持自动推断,也可以先留空,连接不稳定时再显式填写。 API Server保持空白。- 在
Key输入框粘贴id_ed25519.pub文件里的完整公钥字符串。 - 保存配置,返回主界面,确认状态显示为“就绪”或
Ready。
步骤 7:配置无人值守访问
- 在被控 Windows 电脑上打开 RustDesk,进入“设置”。
- 进入“安全”页面,点击“解锁安全设置”。
- 在“密码”或“永久密码”区域设置一个固定访问密码。
- 打开 Windows 任务管理器,进入“启动应用”页签,确认 RustDesk 启动项为“已启用”。
- 从另一台 Windows 电脑或 Android 手机输入被控端 RustDesk ID,点击连接,输入固定访问密码,确认可以进入远程桌面。
3. 核心概念解释
RustDesk 自托管服务器
- 概念解释:RustDesk 自托管不是把完整远程桌面流量都固定拉到一台云服务器上,而是部署两类服务:
hbbs负责 ID、会合、信令和 NAT 穿透协调,hbbr负责在直连失败时中继流量。客户端会先联系 ID 服务器,能打洞直连时优先直连,打洞失败时再走中继服务器。 - 教程为什么要这样做:自建
hbbs和hbbr可以让自己的设备使用固定、可控的会合和中继入口,减少对公共服务器的依赖,也方便在多台自有设备之间保持一致配置。
ID Server、Relay Server、API Server 和 Key
- 概念解释:
ID Server指向hbbs,用于设备发现和连接协商;Relay Server指向hbbr,用于转发无法直连的会话;API Server主要用于专业版登录和 Web Console 功能;Key是服务端公钥,不是许可证密钥。 - 教程为什么要这样做:开源版小规模部署通常只需要 ID Server 和 Key,Relay Server 可以由 RustDesk 推断;教程中显式填写 Relay Server 是为了降低新手排错成本。
端口放行
- 概念解释:RustDesk 开源自托管核心端口包括
21115-21117与21116/UDP;21118和21119主要用于 WebSocket/Web 客户端场景;21114是专业版 HTTP/API 相关端口。阿里云轻量应用服务器控制台的防火墙只控制入流量,默认未开放的端口需要手动添加规则。 - 教程为什么要这样做:RustDesk 客户端显示“未就绪”时,常见原因是云厂商防火墙或服务器内部防火墙没有放行
21116 TCP/UDP、21117 TCP等端口。
1Panel 应用商店部署
- 概念解释:1Panel 是服务器运维面板,应用商店会用容器方式安装和管理应用。通过应用商店安装 RustDesk,可以减少手写 Docker Compose、systemd 服务和数据目录挂载的步骤。
原生命令安装路线
- 概念解释:视频演示中使用 RustDesk 文档里的原生命令/脚本安装方式,直接在服务器上安装
hbbs、hbbr并生成公钥;这条路线不依赖 1Panel 应用商店。 - 教程为什么要这样做:本教程不把原生命令作为主步骤,但把它作为替代路线记录下来;当 1Panel 应用商店不可用、应用版本滞后或用户更熟悉 systemd 时,可以改用官方文档中的脚本或 Docker 方式。
- 核验状态:版本敏感,视频里的第三方脚本地址和镜像加速地址需要在复用前重新核对。