在个人云服务器上搭建 RustDesk API 和中继服务的操作步骤
1、RustDesk API 服务的作用
如果只是在云服务器上搭建了 RustDesk 中继服务,那别人只要获取到了中继服务的 IP 和 Key 信息,就能随便任意使用。
如果还搭建了 RustDesk API 服务,那别人需要先使用 API 后台所管理的用户名和密码登录到客户端,才能使用中继服务。
此外,在 API 后台中,还能看到是哪个用户在什么时间,以及在哪个设备上登录使用了中继服务;如果发现异常,可以随时禁用该账户的权限,这样可以防止别人滥用自己的 RustDesk 中继服务。
注意:如果已搭建了 RustDesk 中继服务,需先卸载旧的服务或重装系统才能执行本文的操作,否则会因为端口冲突而搭建失败;除非在 5.1 小节操作时,知道如何修改成其他的端口号来使用。
2、安装 docker 服务
2.1、下载 docker 的 yum 源

如上图所示,使用 MobaXterm 等工具连接云服务器,执行命令下载 docker 的 yum 源到云服务器中。
sudo wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
2.2、安装 docker-ce

如上图所示,使用 yum 源安装 docker-ce 。
sudo yum -y install docker-ce
2.3、查看 docker 版本信息

如上图所示,查看 docker 版本信息,确认 docker 是否安装成功。
docker -v
2.4、启动 docker 服务

sudo systemctl start docker
2.5、设置 docker 开机自启动

sudo systemctl enable docker
2.6、查看 docker 运行状态

如上图所示,确认 docker 处于活动运行的状态。
sudo systemctl status docker
3.、安装 1Panel 面板
3.1、执行官方安装脚本

如上图所示,执行 1Panel 面板的官方在线安装脚本。
bash -c "$(curl -sSL https://resource.fit2cloud.com/1panel/package/v2/quick_start.sh)"
3.2、选择 1Panel 面板的语言

如上图所示,本示例选择使用简体中文。
2
3.3、选择 1Panel 面板的安装目录

如上图所示,本示例使用默认的安装目录,直接回车即可。
3.4、配置镜像加速

如上图所示,选择使用镜像加速。
y
注意:如果没有事先安装好 docker (见本文第二小节),这一步可能会提示 docker 安装失败。
3.5、设置 1Panel 面板的端口

如上图所示,本示例使用默认的端口,直接回车即可。
3.6、设置 1Panel 面板的安全入口

如上图所示,本示例使用默认的安全入口,直接回车即可。
3.7、设置 1Panel 面板的用户和密码

如上图所示,1Panel 面板的用户和密码,最好不使用默认的,根据自己的习惯自定义比较好。
这一步之后,1Panel 面板即安装成功,框中 1Panel 面板的登录信息,最好使用文档记录一下,以防忘记。
4、开放云服务器的防火墙端口

如上图所示,在云服务器的防火墙配置中,添加三条“入方向规则”;一条是 UDP 协议,目的端口是 21116 ;另一条是 TCP 协议,目的端口是 21114 至 21119 ;还有一条是 TCP 协议,目的端口是 27742 ;访问来源均是任何位置。
与纯 RustDesk 中继服务相比,多了 21114 端口(用于RustDesk API 服务)和 27742 端口(用于 1Panel 面板服务)。
注意:1Panel 面板的默认端口,可能是随机生成的,和本示例不一定相同,需要根据实际情况设置。
5、操作 1Panel 面板
5.1、使用 docker 安装 RustDesk 服务

如上图所示,登录 1Panel 面板,在“容器”菜单的“编排”选项卡中,创建一个 RustDesk 的编排。
编排的内容,没其他需要的话,只用修改框中的部分,主要是根据实际情况修改云服务器的 IP 地址。
networks:
rustdesk-net:
external: false
services:
rustdesk:
ports:
- 21114:21114
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21117:21117
- 21118:21118
- 21119:21119
image: lejianwen/rustdesk-server-s6:latest
environment:
- RELAY=<server[:21117]>
- ENCRYPTED_ONLY=1
- MUST_LOGIN=Y #是否必须登录
- TZ=Asia/Shanghai
- RUSTDESK_API_RUSTDESK_ID_SERVER=<server[:21116]> #21116
- RUSTDESK_API_RUSTDESK_RELAY_SERVER=<server[:21117]> #21117
- RUSTDESK_API_RUSTDESK_API_SERVER=http://<server[:21114]> #21114
- RUSTDESK_API_RUSTDESK_KEY_FILE=/data/id_ed25519.pub
- RUSTDESK_API_JWT_KEY=xxxxxx # jwt key
volumes:
- /data/rustdesk/server:/data #将server的key挂载出来
- /data/rustdesk/api:/app/data #将数据库挂载
networks:
- rustdesk-net
restart: unless-stopped

如上图所示,RustDesk 服务编排成功,即表示在 docker 中安装了 RustDesk API 和中继服务。
5.2、查看 RustDesk 容器状态

如上图所示,在“容器”菜单的“容器”选项卡中,可以看到 RustDesk 容器的状态(已启动)和端口信息。
5.3、修改 RustDesk API 后台密码

如上图所示,打开 RustDesk 容器终端。

如上图所示,在 RustDesk 容器终端中,执行命令即可修改 RustDesk API 的后台密码。
./apimain reset-admin-pwd 自定义密码
6、操作 RustDesk API 后台
6.1、访问 RustDesk API 后台

如上图所示,在 RustDesk API 后台登录页面中,输入用户名(默认为 admin )和密码(修改密码见 5.3 小节),即可登录操作。
6.2、RustDesk API 后台的功能

如上图所示,在 RustDesk API 后台中,可以进行“用户管理”和“设备管理”等功能操作。
用户管理:主要是添加删除用户,为这些用户设置密码,是否让这些用户登录使用 RustDesk 客户端。
设备管理:主要是查看哪个用户,在哪个设备上,什么时间登录使用了 RustDesk 客户端。
7、使用 RustDesk 客户端
下载 RustDesk 客户端的操作,请参考 在个人云服务器上搭建 RustDesk 中继服务的操作步骤 的第 4.1 小节。
7.1、客户端网络设置

如上图所示,在网络设置中,填写 ID 和中继服务器的信息(即是安装了 RustDesk 服务的云服务器 IP ),以及 API 服务的信息(即 API 的后台地址)。

如上图所示,Key 信息需要在云服务器中,才能查出来。
cat /data/rustdesk/server/id_ed25519.pub
7.2、使用 API 账户登录

如上图所示,在账户设置中,填写在 RustDesk API 后台的用户管理中设置好的用户名和密码,即可登录使用 RustDesk 客户端。
相关拓展
本文参考
【1】【鼠标迁徙】【一键部署rustdesk中继服务器及API 实现客户端登录远程设备管理等】【bilibili】【2024-10-14】
【2】【lejianwen】【Use Docker With Rustdesk Server】【Github】【2024-12-10】
【4】【猿编程】【Alibaba Cloud Linux 3安装Docker】【知乎】【2024-03-25】
【5】【Blank】【Rustdesk 提示Failed to secure tcp: Handshake failed:】【Blank的博客】【2025-08-26】
【6】【lejianwen】【关于PC端链接超时或者链接不上的问题以及解决方案】【Github】【2024-12-30】
本文来自博客园,作者:Javaer1995,转载请注明原文链接:https://www.cnblogs.com/Javaer1995/p/19513291



浙公网安备 33010602011771号