RustDesk服务部署

官网

一个使用rust编写的,开源的高性能的,跨平台的,支持自定义的远程控制软件

支持p2p和中继的网络架构

Github地址

服务器

通过docker部署

官方文档

  • hbbs:用于记录客户端的信息,运行与客户端之间的心跳机制,辅助客户端之间的p2p连接

    端口号协议用途说明备注
    21114TCP网页控制台仅在 Pro 版本中可用
    21115TCPNAT 类型测试
    21116TCP, UDPTCP 打洞和连接服务 (TCP)
    ID 注册和心跳服务 (UDP)
    应同时启用 TCP 和 UDP
    21118TCP支持网页客户端
  • hbbr

    端口号协议用途说明
    21117TCP中继服务
    21119TCP支持网页客户端
  1. 拉取rustdesk-server镜像
docker image pull rustdesk/rustdesk-server
  1. 创建hbbs服务并启动

注意21116端口需要tcp和udp协议都启用

#创建hbbs服务对应的容器
docker run --name hbbs \
-v ./data:/root \
-td \
-p 21114:21114 \
-p 21115:21115 \
-p 21116:21116/tcp \
-p 21116:21116/udp \
-p 21118:21118 \
--restart unless-stopped \
rustdesk/rustdesk-server hbbs

在防火墙开放对应的端口,服务器面板上也要开发(如果有的话)

#防火墙开放hbbs需要的端口
firewall-cmd --zone=public --add-port=21114/tcp --permanent
firewall-cmd --zone=public --add-port=21115/tcp --permanent
firewall-cmd --zone=public --add-port=21116/tcp --permanent
firewall-cmd --zone=public --add-port=21116/udp --permanent
firewall-cmd --zone=public --add-port=21118/tcp --permanent

在data数据目录下的id_ed25519.pub文件中拿到服务端的公钥,后续客户端需要使用到

  1. 创建hbbr服务并启动
docker run --name hbbr \
-v ./data:/root \
-td \
-p 21117:21117 \
-p 21119:21119 \
--restart unless-stopped \
rustdesk/rustdesk-server hbbr

在防火墙开放对应的端口,服务器面板上也要开发(如果有的话)

#/bash/sh
#防火墙开发hbbr需要的端口

firewall-cmd --zone=public --add-port=21117/tcp --permanent
firewall-cmd --zone=public --add-port=21119/tcp --permanent

更新hbbs密钥的小技巧

hbbs初次运行会在data目录下生成两个文件,id_ed25519和id_ed25519.pub

  • id_ed25519文件保存的是私钥
  • id_ed25519.pub文件保存的是公钥

当我们希望更新密钥对时,将id_ed25519私钥文件删除,再重启hbbs将会重新生成密钥对

#删除命令
rm id_ed25519

重启后私钥会被重新写入文件id_ed25519中,而公钥则在日志中,我们查看docker中的日志就能得到公钥

#重启hbbs容器
docker restart hbbs
#查看日志的docker命令
docker logs hbbs

客户端

客户端下载地址

ArchitectureWindowsUbuntuMacAndroidFlatpakiOSWeb
x86-64 (64-bit)EXE MSIDownloadDownloadUniversalDownloadGo
AArch64 (ARM64)DownloadDownloadDownloadDownloadApp Store
ARMv7 (32-bit)DownloadDownload
x86-32 (32-bit)EXE

以windows平台为例,进行配置

  1. 点击右上角的三个点打开设置

打开网络设置

进行网络配置

  • ID服务器为hbbs服务的地址,如有服务端有端口的修改,则可以使用HOST:PORT的格式填写
  • 中继服务器为hbbr服务的地址,如有服务端有端口的修改,则可以使用HOST:PORT的格式填写
  • Key为hbbs服务中生成的公钥

成功连接两端的客户端需要ID服务器,中继服务器,Key三者保持一致

配置完成后在主页输入被控端的ID就可以进行远程连接了

参考文档

  1. [RustDesk 自建服务器部署和使用教程 ](https://www.cnblogs.com/ryanyangcs/p/18186163)
  2. 自己搭建远程桌面服务器-RustDesk(小白版)
  3. RustDesk 完整部署教程:支持 Web 管理后台和网页客户端远程,保姆级教学来了!
  4. RustDesk服务器端密钥自定义配置指南