Rustdesk自建服务器解决局域网内远程协助难题
本文分享了在内网环境下部署RustDesk远程协助服务器的详细过程。针对无法连接互联网但需要维护多台计算机的工作场景,作者通过openEuler服务器搭建RustDesk自建服务,包括服务器安装、端口配置、服务部署等关键步骤。文章提供了完整的客户端配置指南和使用说明,重点解决了无外网环境下的远程协助需求,并特别强调了密钥安全等注意事项。该方案成功实现了类似向日葵的内网远程控制功能,有效提升了跨工作
由于工作内容、工作环境的要求,不能连接互联网,又要维护大量的计算机,不同的问题,不同应用能力的工作人员,对计算机、应用软件出现的各种奇奇怪怪的问题,有些问题,点几下鼠标就可以解决了,在没有向日葵等互联下远程协助软件的帮助,就得往返于各个工作点之间奔波。
鉴于这种工作需求,就需要有一个能够实现向日葵类似功能的内网远程协助软件。网上随便搜一下,就会跳出许多推荐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自建服务器的内网使用还存在一些不足,在初次部署时要逐一上门安装配置,但在部署后,就能大大减轻一个单位信息管理人员的工作繁琐程度,弥补了无互联网带来的不便。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)