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

前言

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

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

参考资料:
https://github.com/lejianwen/rustdesk-api
https://github.com/lejianwen/rustdesk-api/pkgs/container/rustdesk-api
文章目录

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,test
  resources-path: 'resources'  #对外静态文件目录
  trust-proxy: ""
gorm:
  type: "sqlite"
  max-idle-conns: 10
  max-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,fatal
  report-caller: true
proxy:
  enable: false
  host: ""
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: 30
  max-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-api
    environment:
      - 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=自设置key
    ports:
      - 21114:21114
    image: lejianwen/rustdesk-api
    volumes:
      - /data/rustdesk/api:/app/data #将数据库挂载出来方便备份
    networks:
      - rustdesk-net
    restart: 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

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

### RustDesk 内网部署教程及配置方法 #### 一、准备工作 为了成功在内网环境中部署 RustDesk,需准备以下内容: - Ubuntu 或其他支持的操作系统作为服务器环境。 - 客户端设备上已安装 RustDesk 应用程序。 确保服务器能够访问互联网以便下载必要的依赖项和工具。如果完全处于隔离环境下,则需要提前准备好所需的二进制文件和其他资源[^1]。 #### 二、服务端安装过程 以下是基于 Debian 软件包的方式完成服务端的安装: ```bash wget https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-2-x86_64.deb sudo dpkg -i rustdesk-1.2.3-2-x86_64.deb ``` 上述命令用于获取并安装特定版本的服务端组件到 Linux 主机之上。需要注意的是实际操作过程中应当替换链接中的具体版本号至最新稳定发行版或者满足需求的目标版本。 对于 Docker 用户而言,可以按照如下方式拉取指定标签下的镜像,并创建相应的数据存储路径来持久化重要资料: ```bash mkdir -p /opt/rustdesk/{hbbr,hbbs} docker pull rustdesk/rustdesk-server:latest docker run --name hbbs -d \ -v /opt/rustdesk/hbbs:/var/lib/rustdesk/server/data \ rustdesk/rustdesk-server start relay-server ``` 这里通过 `-v` 参数指定了宿主机上的目录映射关系,从而实现即使容器被删除也不会丢失内部保存的数据结构;而 `start relay-server` 则指示启动中继部分的功能模块[^5]。 #### 三、客户端设置调整 当服务端已经正常运行之后,在 Windows 平台下定位到 `%APPDATA%\RustDesk\config\RustDesk2.toml` 文件位置处编辑其字段值指向自定义地址而非默认公共云实例。例如修改成形如下面这样的形式: ```toml relay_server = "your_internal_ip_or_hostname" identity_server = "" nat_type = 0 region = "" ``` 其中最重要的就是把 `relay_server` 设置为我们之前架设好的那套设施所在的位置信息[^2]。 #### 四、测试连接有效性 最后一步便是验证整个流程是否通畅无阻塞情况发生。分别开启两端的应用界面输入对应 ID 密码组合尝试建立会话看看能否顺利达成目标效果。 --- ### 注意事项 - 如果遇到任何权限方面的问题记得赋予足够的执行权利给相关脚本或者是给予 SELinux/AppArmor 配置例外处理策略。 - 对于大规模企业级应用场景建议考虑采用负载均衡机制提高可用性和稳定性表现水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值