【补充】RustDesk一键部署及账号登录配置

embedded/2025/3/6 2:12:57/

前言

之前分享的配置rustdesk的帖子只是搭建了一个简易服务器,仅能实现简单的远程桌面功能。在后续的使用中切换设备使用时无法看到之前连接的设备,必须知道每个设备的id号,才能在新设备上连接。数据无法在设备间迁移,感觉很麻烦。而官方将账号登录的功能放到了专业版里,普通的自建服务器想实现账号管理只能另想办法。

好在网上有一些大佬自建了rustdesk-api服务器项目,本文测试了网上的一些方法,统一整理了一个简单搭建方案作为补充。另外还整理了傻瓜式搭建rustdesk服务器的方法。

参考资料:
https://github.com/lejianwen/rustdesk-api
https://github.com/lejianwen/rustdesk-api/pkgs/container/rustdesk-api
文章目录
  • 前言
  • windows一键部署
    • 1、RustDesk
        • · 下载安装包
        • · 运行
            • a. 解压文件
            • b. 运行前需要安装node.js
            • c. 安装pm2
            • d. 运行hbbr和hbbs
    • 2、API
        • · 下载安装包
        • · 运行
            • a. 解压安装包
            • b. 编辑配置文件
            • c. 双击运行apimain.exe
            • d. 访问后台
  • Linux一键部署
    • 1、RustDesk
        • · 下载安装包
        • · 运行
    • 2、API
        • · 下载安装包
        • · 运行
            • a. 编辑配置文件
            • b. 执行`apimain`
            • c. 访问后台
  • Linux的docker安装
    • RustDesk
    • API
        • · 拉取镜像(需要能访问国外网站)
        • · 使用docker-compose安装
        • · 运行docker
        • · 访问后台
  • 后续登录配置
    • 若想使用github绑定登录账号,需要配置oauth
        • · GitHub创建oauth apps
        • · api后台创建oauth
        • · 配置完后就可以使用GitHub绑定账号进行授权登录了
  • 解决登录账号后连接慢的问题
    • 4种解决方案
        • 1、server端指定key。
        • 2、server端使用系统生成的key,或者自定义的密钥对,但如果client已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient可以不用退出登录
        • 3、server端使用系统生成的key,或者自定义的密钥对,fork官方客户端的代码将secure_tcp修改成直接返回,然后通过Github Actions编译,下载编译后的客户端。 参考官方文档
        • 4、使用编译好的客户端,操作简单
  • 有问题可以评论或者私信(=.=)

windows一键部署

下载文件需要能访问国外网站

1、RustDesk

· 下载安装包

下载地址:windows-x86_64.zip

· 运行
a. 解压文件

在这里插入图片描述

b. 运行前需要安装node.js

下载地址:Node.js

c. 安装pm2

打开cmd,输入下列命令

npm install -g pm2
npm install pm2-windows-startup -g
pm2-startup install
d. 运行hbbr和hbbs

在解压后的文件目录下打开cmd

cd C:
ustdesk-server-windows-x64
pm2 start hbbs.exe
pm2 start hbbr.exe
pm2 save	#保存PM2,开机自启

查看运行状态

pm2 list

2、API

· 下载安装包

下载地址:Releases · lejianwen/rustdesk-api

· 运行
a. 解压安装包

在这里插入图片描述

b. 编辑配置文件

在这里插入图片描述

记事本或其他文本编辑器打开config.yaml

lang: "zh-CN"
app:web-client: 1  # 1:启用 0:禁用
gin:api-addr: "0.0.0.0:21114"mode: "release" #release,debug,testresources-path: 'resources'  #对外静态文件目录trust-proxy: ""
gorm:type: "sqlite"max-idle-conns: 10max-open-conns: 100
mysql:username: ""password: ""addr: ""dbname: ""
rustdesk:	# 自行配置信息id-server: "你的api服务器的域名或IP:21116"relay-server: "你的api服务器的域名或IP:21117"api-server: "http://你的api服务器的域名或IP:21114"key: "自己设置key"personal: 1
logger:path: "./runtime/log.txt"level: "warn" #trace,debug,info,warn,error,fatalreport-caller: true
proxy:enable: falsehost: ""
redis:addr: "127.0.0.1:6379"password: ""db: 0
cache:type: "file"file-dir: "./runtime/cache"redis-addr: "127.0.0.1:6379"redis-pwd: ""redis-db: 0
oss:access-key-id: ""access-key-secret: ""host: ""callback-url: ""expire-time: 30max-byte: 10240
jwt:private-key: "./conf/jwt_pri.pem"expire-duration: 360000
c. 双击运行apimain.exe

在这里插入图片描述

d. 访问后台

浏览器打开IP或域名:21114,默认用户名和密码都是admin

在这里插入图片描述

Linux一键部署

1、RustDesk

· 下载安装包

下载地址:Release 1.1.12 · rustdesk/rustdesk-server

下载压缩包直接解压,下载deb文件使用dpkg命令进行安装。

· 运行

给hbbr和hbbs增加可执行权限,然后直接 ./ 运行即可

2、API

· 下载安装包

下载地址:Releases · lejianwen/rustdesk-api

· 运行
a. 编辑配置文件
vim ./release/conf/config.yaml

在这里插入图片描述

配置信息和之前的一样

b. 执行apimain

给apimain文件增加执行权限,./apimain 直接执行即可

c. 访问后台

依旧浏览器打开IP或域名:21114,默认用户名和密码都是admin

Linux的docker安装

RustDesk

查看我的rustdesk基础配置文章:自建RustDesk实现远程桌面

API

· 拉取镜像(需要能访问国外网站)
docker pull ghcr.io/lejianwen/rustdesk-api:latest
· 使用docker-compose安装
mkdir /data/rustdesk/api	# 创建项目目录
cd /data/rustdesk/api
vim docker-compose.yaml		# 创建yaml文件

docker-compose.yaml文件

version: '2.1'
services:rustdesk-api:container_name: rustdesk-apienvironment:- TZ=Asia/Shanghai- RUSTDESK_API_RUSTDESK_ID_SERVER=域名或IP:21116- RUSTDESK_API_RUSTDESK_RELAY_SERVER=域名或IP:21117- RUSTDESK_API_RUSTDESK_API_SERVER=http://域名或IP:21114- RUSTDESK_API_RUSTDESK_KEY=自设置keyports:- 21114:21114image: lejianwen/rustdesk-apivolumes:- /data/rustdesk/api:/app/data #将数据库挂载出来方便备份networks:- rustdesk-netrestart: unless-stopped
networks:rustdesk-net:external: false
· 运行docker
docker-compose up -d
· 访问后台

依旧浏览器打开IP或域名:21114,默认用户名和密码都是admin

后续登录配置

上面的步骤配置完后就能在后台创建账号,客户端要使用创建的账号进行登录,还需要配置客户端信息。在客户端设置中配置api服务器,就能实现登录功能。

在这里插入图片描述

在这里插入图片描述

若想使用github绑定登录账号,需要配置oauth

· GitHub创建oauth apps

地址:https://github.com/settings/developers

填写相关信息,自己服务器的IP或域名

在这里插入图片描述

创建好后会生成ClientId和ClientSecret

· api后台创建oauth

在这里插入图片描述

填入生成的ClientId和ClientSecret

RedirectUrl为:http://你的域名或IP/api/oauth/callback

选择github进行创建

· 配置完后就可以使用GitHub绑定账号进行授权登录了

解决登录账号后连接慢的问题

4种解决方案

1、server端指定key。

· 优点:简单
· 缺点:链接不是加密的

hbbs -r <relay-server-ip[:port]> -k <key>
hbbr -k <key>
比如
hbbs -r <relay-server-ip[:port]> -k abc1234567
hbbr -k abc1234567
2、server端使用系统生成的key,或者自定义的密钥对,但如果client已登录,链接时容易超时或者链接不上,可以退出登录后再链接就可以了,webclient可以不用退出登录

· 优点:链接加密
· 缺点:操作麻烦

3、server端使用系统生成的key,或者自定义的密钥对,fork官方客户端的代码将secure_tcp修改成直接返回,然后通过Github Actions编译,下载编译后的客户端。 参考官方文档

· 优点:链接加密,可以自定义客户端一些功能,编译后直接可用
· 缺点:需要自己fork代码,编译,有点难度

4、使用编译好的客户端,操作简单

使用大佬fork的代码,已经修改了secure_tcp,可以直接下载使用,下载地址
· 优点:代码改动可查看,Github Actions编译,链接加密,直接下载使用
· 缺点:可能跟不上官方版本更新

对链接加密要求不高的可以使用1,对链接加密要求高的可以使用3或4

有问题可以评论或者私信(=.=)


http://www.ppmy.cn/embedded/170355.html

相关文章

物联网感知层常用感应设备

一、环境监测类 温度传感器 ▸ 应用&#xff1a;冷链运输温度监控、智能温室调控 ▸ 技术&#xff1a;热敏电阻、红外测温&#xff08;如TI TMP117&#xff09; 湿度传感器 ▸ 应用&#xff1a;农业大棚湿度控制、工业防潮监测 ▸ 案例&#xff1a;Sensirion SHT4x系列 光照传…

Python测试框架Pytest的参数化

上篇博文介绍过&#xff0c;Pytest是目前比较成熟功能齐全的测试框架&#xff0c;使用率肯定也不断攀升。 在实际工作中&#xff0c;许多测试用例都是类似的重复&#xff0c;一个个写最后代码会显得很冗余。这里&#xff0c;我们来了解一下pytest.mark.parametrize装饰器&…

一键安装Nginx部署脚本之Linux在线安装Nginx,脚本化自动化执行服务器部署(附执行脚本下载)

相关链接 一键安装Nginx部署脚本之Linux在线安装Nginx一键安装Redis部署脚本之Linux在线安装Redis一键安装Mysql部署脚本之Linux在线安装Mysql一键安装JAVA部署脚本之Linux在线安装JDKXshell客户端免费版无需注册XFtp客户端免费版无需注册 前言 简化服务器部署操作&#xff0…

<Rust><iced>基于rust使用iced构建GUI实例:图片浏览器

前言 本专栏是Rust实例应用。 环境配置 平台:windows软件:vscode语言:rust库:iced、iced_aw概述 本篇将使用iced创建一个图片浏览器,功能是通过导入文件夹,获取其内部图片路径,并在iced窗口程序。iced窗口将有一个主图片显示,主图片下是其余图片的缩略图,有按钮点击…

【实用】nuxt3工程项目的一些目录理解

一、components目录 公共组件目录&#xff0c;不需要像vue2/vue3工程一样&#xff0c;在需要使用的组件内必须手动引入&#xff0c;Nuxt 会自动导入此目录中的任何组件&#xff08;以及您可能正在使用的任何模块注册的组件&#xff09; 使用案例&#xff1a; 在conponents文件…

C++11特性(笔记二lambda,function)

目录 一.新的类功能 二. lambda 三. 包装器&#xff08;function&#xff09; 四.bind 一.新的类功能 1. 默认的移动构造和移动赋值 C11 新增了两个默认成员函数&#xff0c;移动构造函数和移动赋值运算符重载。 如果你提供了移动构造或者移动赋值&#xff0c;编译器不会自…

机器学习校招面经二

快手 机器学习算法 一、AUC&#xff08;Area Under the ROC Curve&#xff09;怎么计算&#xff1f;AUC接近1可能的原因是什么&#xff1f; 见【搜广推校招面经四】 AUC 是评估分类模型性能的重要指标&#xff0c;用于衡量模型在不同阈值下区分正负样本的能力。它是 ROC 曲线…

SpaCy处理NLP的详细工作原理及工作原理框图

spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理&#xff08;NLP&#xff09;库&#xff0c;它提供了一系列高效且易用的工具&#xff0c;用于执行各种NLP任务&#xff0c;如文本预处理、文本解析、命名实体识…