由于工作内容、工作环境的要求,不能连接互联网,又要维护大量的计算机,不同的问题,不同应用能力的工作人员,对计算机、应用软件出现的各种奇奇怪怪的问题,有些问题,点几下鼠标就可以解决了,在没有向日葵等互联下远程协助软件的帮助,就得往返于各个工作点之间奔波。

鉴于这种工作需求,就需要有一个能够实现向日葵类似功能的内网远程协助软件。网上随便搜一下,就会跳出许多推荐Rustdesk的文章。特别是介绍这款软件可以在无互联网环境中自建服务器使用,而且还开源免费,好评如潮。

因此查阅大量资料,占用了下班后的2小时,成功部署了Rustdesk Server。现把我的部署过程分享给有需要的牛马们。

准备

服务器:

openEuler 24.03 SP3:下载(官网)

Rustdesk软件:

rustdesk1.4.6客户端 下载(github)
rustdesk1.1.15服务器端 下载(github)

安装

1.openEuler 24.03 SP3服务器安装

参照 csdn 小雪生xvx 的笔记《openEuler24.03华为欧拉安装教程》

2.Rustdesk 服务器端安装

2.1 MobaXterm登录服务器

2.2 开启端口
2.2.1 RustDesk 服务需要多个端口通信,21114-21119端口,务必在 openEuler 的防火墙(firewalld)中放行。

# 开放 TCP 端口
sudo firewall-cmd --permanent --add-port={21114,21115,21116,21117,21118,21119}/tcp
# 开放 UDP 端口
sudo firewall-cmd --permanent --add-port=21116/udp
# 重新加载防火墙配置
sudo firewall-cmd --reload

2.2.2 检查端口开启状态

# 检查端口
ss -tulnp | grep 2111

除了21114没有反馈外,其他的都应正常

2.3 文件安装
2.3.1 新建Rustdesk-server文件夹

sudo mkdir -r \opt\Rustdesk-server

2.3.2 通过MobaXterm上传rustdesk-server-linux-amd64.zip文件至Rustdesk-server文件夹中。
2.3.3 安装解压工具unzip。

sudo dnf install unzip -y

2.3.4 进入文件夹,解压文件

unzip rustdesk-server-linux-amd64.zip

解压后查看amd64文件夹中确认是否包含hbbr、hbbs等文件

├── amd64
│   ├── hbbr
│   ├── hbbs
│   └── rustdesk-utils
└── rustdesk-server-linux-amd64.zip

2.3.5 进入amd64文件夹,依次执行命令

./hbbs -r <你的服务器IP>:21117
./hbbr

首次运行hbbs时,全停在[*****] Start,说明启动成功,按Ctrl+C中止。
首次运行hbbr时,会停在[*****] INFO [*****] SINGLE_BANDWIDTH: 128Mb/s,说明启动成功,按Ctrl+C中止。
两个程序首次运行后,会在当前目录生成 id_ed25519 (私钥) 和 id_ed25519.pub (公钥) 等文件。客户端连接时需要配置。

├── db_v2.sqlite3
├── db_v2.sqlite3-shm
├── db_v2.sqlite3-wal
├── hbbr
├── hbbs
├── id_ed25519
├── id_ed25519.pub
└── rustdesk-utils

2.3.6 查看服务器上生成的公钥文件内容,将一串字符复制保存备用。

cat /opt/rustdesk-server/amd64/id_ed25519.pub

2.3.7 创建 hbbs 服务文件

cat > /etc/systemd/system/hbbs.service <<EOF
[Unit]
Description=RustDesk ID Server (hbbs)
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk-server/amd64
#<你的服务器公网IP>修改为服务器的IP
ExecStart=/opt/rustdesk-server/amd64/hbbs -r <你的服务器公网IP>:21117
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

2.3.8 创建 hbbr 服务文件

cat > /etc/systemd/system/hbbr.service <<EOF
[Unit]
Description=RustDesk Relay Server (hbbr)
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk-server/amd64
ExecStart=/opt/rustdesk-server/amd64/hbbr
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

2.3.9 设置开机启动服务

# 1. 重新加载系统服务配置(让刚才的文件生效)
systemctl daemon-reload

# 2. 启动 hbbs 和 hbbr
systemctl start hbbs
systemctl start hbbr

# 3. 设置开机自启
systemctl enable hbbs
systemctl enable hbbr

查看基础服务和中继服务的状态。

systemctl status hbbs
systemctl status hbbr

显示状态中均出现绿色的Active: active (running),表示成功。

3.Rustdesk客户端安装

运行安装rustdesk-1.4.6-x86_64.msi
请添加图片描述
下一步,同意,继续,完成。超简单

4.客户端配置

4.1 在主界面中,点击ID旁的三个小点
请添加图片描述
4.2 选择网络,点击解锁网络设置
请添加图片描述
4.3 点击ID/中继服务器
请添加图片描述
4.4 在弹出窗口中,依次输入相关信息:
ID服务器:服务器IP
中继服务器:服务器IP地址:21117
API:空着不填
Key:将服务器安装目录下生成的id_25519.pud文件中的字符串复制进来
请添加图片描述

特别提醒

如果觉着Key过于复杂,想自定义,需要在启动hbbs时使用-k参数(-k mypassword),在这种情况下,服务器会忽略文件里的公钥,强制使用你指定的字符串作为 Key。但不推荐,因为文件生成的密钥对更安全且符合标准。

确定完成。下面会出现“成功”的提示。
回到客户端主页,查看下边框是否变为绿色小圆点的“就绪”状态。现在,首次打开客户端下面的提示没有了。
请添加图片描述

刚配置好的服务器和刚安装好的客户端,连接计算机中,可能会出现以下几种提示:
安装连接提示传入Key不匹配:要检查Key是否正确,特别是复制的时候有没有空格。
远程电脑处于离线状态无法连接到中继服务器:不着急,再多试几次。服务器、客户端软件要缓口气…

使用

主控端

1.远程连接登录

1.1 在地址栏中输入被控端的ID,点击连接,在弹出框中输入被控端ID下面的密码,确认。
请添加图片描述
1.2 窗口打开,可以看到对方计算机的桌面,并进行远程操作。
请添加图片描述

2.主控端功能菜单

在控制窗口正上方,点击下箭头,会展开功能按钮。
2.1 系统功能菜单
系统功能菜单
2.2 显示功能菜单
显示功能菜单
2.3 键盘鼠标操控菜单
键盘鼠标操控菜单
2.4 交流菜单
交流菜单
2.5 录屏功能
录屏功能

3.主控端向被控端传送文件。

在Rustdesk中,不支持向日葵那种直接拖拽发送文件。在主控端输入被控端ID后,点击连接按钮,是默认连接终端,其实在连接按钮旁的下箭头,还可以选择传输文件和查看摄像头。
3.1 点击下箭头,选择传输文件
请添加图片描述
3.2 在窗口输入被控端的密码,确认。
请添加图片描述
3.3 确认后,就可以看到两台计算机的文件目录,选择要传送的文件,发送。
请添加图片描述

3.主控端打开被控端摄像头

在连接按钮旁选择“查看摄像头”,在窗口输入被控端的密码,确认。就可以打开被控端电脑的摄像头。

被控端

主控端登录被控端后,在被控端的桌面,会出现一个菜单工具栏,可以看到主控端的动作,也可以在权限模块中,调整主控的操作权限。
支持多个主控端同时连接操作本机。
请添加图片描述

评价

优点

1.在不接入互联网的环境中自建服务器,所有数据传输、日志均存放在本地服务器内,避免了这么多安全问题。
2.Rustdesk的功能,在远程协助功的同时,可以发送文字信息交流,或者语音对话。

缺点

1.需要有服务器资源。
2.首次部署时,每台客户端需要手动配置ID服务器、中继服务器、KEY,这也是个不小的工作量。
3.连接远程计算机,缩小窗口不能自适应显示被控端完整桌面。
4.文件传输需要单独登录,没有拖拽传输的功能。

尽管Rustdesk自建服务器的内网使用还存在一些不足,在初次部署时要逐一上门安装配置,但在部署后,就能大大减轻一个单位信息管理人员的工作繁琐程度,弥补了无互联网带来的不便。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐