RustDesk作为一个开源的远程桌面软件,不仅提供了安全可靠的远程控制功能,还通过其轻量级和高性能的特点满足了企业及个人用户在多样化环境下的需求。为了帮助打击更好地部署和管理RustDesk,本教程提供RustDesk系统要求、安装步骤、服务管理以及一些高级配置。
一、RustDesk系统要求
需要安装Linux。本脚本已在CentOS Linux 7/8、Ubuntu 18/20和Debian上测试通过。运行RustDesk的服务器至少需要1个CPU、1GB RAM和10GB硬盘空间。
二、安装RustDesk服务器
在运行脚本之前,请先设置服务器上的防火墙。确保可以通过SSH或其他方式获得访问权限,然后再设置防火墙。对于基于Debian的UFW,示例命令如下:
ufw allow proto tcp from YOURIP to any port 22
如果已安装UFW,请使用以下命令配置防火墙(仅当想使用自动生成的安装文件时才需要端口8000):
ufw allow 21114:21119/tcp ufw allow 8000/tcp ufw allow 21116/udp sudo ufw enable
运行以下命令:
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh chmod +x install.sh ./install.sh
Techahold的仓库上还有一个更新脚本。
三、下载服务器端软件
注意:在这步之前请使用debian发行版的deb文件为自己的服务器安装为systemd服务。请自行下载deb文件并使用apt-get -f install <filename>.deb或dpkg -i <filename>.deb进行安装。
1、下载服务器端软件程序
RustDesk提供的平台版本有:
- Linux
- Windows
下面的教程基于Linux构建。
有两个可执行文件和一个文件夹:
- hbbs – RustDesk ID/集合点服务器
- hbbr – RustDesk中继服务器
它们在CentOS Linux 7上构建,并在CentOS Linux 7/8和Ubuntu 18/20上进行了测试。
服务器要求:硬件要求非常低;最基本的云服务器配置就足够了,CPU和内存需求也很小。也可以使用树莓派或类似的设备。关于网络大小,如果TCP打孔直接连接失败,中继流量将被消耗。中继连接的流量在30 K/s到3 M/s之间(1920×1080屏幕),取决于分辨率设置和屏幕更新。如果只用于办公室工作需求,流量约为100 K/s。
2、在服务器上运行hbbs和hbbr
建议使用PM2来管理服务。
- 无需PM2运行hbbs/hbbr;
./hbbs -r <relay-server-ip[:port]> ./hbbr
- 使用PM2运行hbbs/hbbr。
pm2 start hbbs -- -r <relay-server-ip[:port]> pm2 start hbbr
注意:
- PM2需要Node.js v16+,如果无法运行PM2(例如,无法看到/),请从https://nodejs.org下载并安装Node.js LTS版本。若要在重启后使/自动运行,请查看并保存pm2 startup。有关日志的另一个好工具是pm2-logrotate;
- 参数-r不是强制性的,只是为了方便不要在受控客户端那边指定一个中继服务器。如果不使用默认的21117端口,则不需要指定端口。客户端指定的中继服务器优先级高于此处;
- 默认情况下,监听21114(TCP,仅限Pro版本的Web控制台)、21115(TCP)、21116(TCP/UDP)和21118(TCP),监听21117(TCP)和21119(TCP)。请确保在防火墙中打开这些端口。请注意,21116应同时启用TCP和UDP。21115用于NAT类型测试,21116/UDP用于ID注册和心跳服务,21116/TCP用于TCP打孔和连接服务,21117用于中继服务,21118和21119用于支持Web客户端。
如果不需要Web客户端(21118, 21119)支持,可以禁用相应端口。
- TCP (21114, 21115, 21116, 21117, 21118, 21119)
- UDP (21116)
请使用-h选项运行以查看帮助,如果想选择自己的端口。
3、在客户端设置hbbs/hbbr地址
(1)密钥
密钥是必须的,但无需亲自设置。首次运行时,它将自动生成一对加密的私钥和公钥(分别位于运行目录中的id_ed25519和id_ed25519.pub文件中),其主要目的是用于通信加密。
如果在之前的步骤中没有填写<公钥文件的内容>,不会影响连接,但无法对连接进行加密。
cat ./id_ed25519.pub
注意:
- 如果要更改密钥,删除id_ed25519和id_ed25519.pub文件,然后重启hbbs/hbbr,将生成新的密钥对。
- 如果使用的是docker-compose并且keys不存在,容器的启动将在hbbs和hbbr文件夹中创建不同的key。可以在启动容器之前手动在hbbs中创建密钥并将其复制到hbbr。或者,可以停止hbbr容器,并将密钥从hbbs复制到hbbr文件夹,然后重新启动容器。