【补充】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
-
-
- · 下载安装包
- · 运行
-
-
- 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,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