RustDesk作为一款开源且高效的远程桌面软件,旨在为用户提供安全便捷的自建方案。现已对用户免费开放。也许很多朋友不太了解这个软件,本文小编为大家介绍一下使用亚马逊免费云服务器(EC2)部署RustDesk服务器教程。一起来了解一下吧!
一、RustDesk服务器搭建要求
首先要安装Linux操作系统,RustDesk的脚本已在CentOS Linux 7/8、Ubuntu 18/20和Debian等系统上经过测试,具有1个CPU、1 GB RAM和8 GB磁盘的服务器足以运行RustDesk。
二、亚马逊免费云服务器部署
目前,亚马逊云科技为新用户提供了EC2免费套餐,Amazon EC2、S3等云服务器实例全年免费使用,对于运行RustDesk来说,亚马逊免费云服务器(Amazon EC2实例)1核1G配置是完全足够的。下面展示如何启用、连接亚马逊免费云服务器Amazon EC2实例。
亚马逊免费云服务器注册地址:亚马逊云科技官网
1、部署亚马逊免费云服务器
(1)进入官网找到亚马逊免费云服务器Amazon EC2实例,点击“创建免费账户”部署实例。
(2)紧接着根据文本框提示填入实例名称。然后在(亚马逊机器映像)部分的快速启动选择Amazon Linux,这是适用于实例的操作系统(OS)。
(3)从Amazon Machine Image(AMI)中,选择Amazon Linux 2的HVM版本。请注意,这些AMI标记为符合条件的亚马逊免费云服务器套餐。Amazon Machine Image(AMI)是基本配置,用作实例的模板。
(4)在实例类型列表下,可以为亚马逊免费云服务器实例选择硬件配置:选择t2.micro实例类型,这是默认情况下的选择。t2.micro实例类型符合亚马逊免费云服务器条件。在未提供t2.micro的区域中,您可以使用“免费套餐”下方的t3.micro实例。
(5)在密钥对(登录)下,选择在开始设置时创建的密钥对。
(6)在网络设置旁边,选择编辑。对于安全组名称,您将看到向导为您创建并选择了安全组。使用以下步骤,您可以使用此安全组,或者也可以选择在设置时创建的安全组:
(7)对于亚马逊免费云服务器的其他配置设置,保留默认选择。查看右侧(摘要)面板中实例配置的摘要,准备好后选择启动实例。
(8)启用之后可以在状态检查列中查看已配置的亚马逊免费云服务器实例信息。
2、亚马逊免费云服务器连接实例
(1)要想通过亚马逊免费云服务器连接其他实例,请在列表右上方点击“连接”。
(2)有许多方法可以连接实例,有些会根据连接的本地计算机的操作系统而有所不同。其他则不会改变,例如亚马逊免费云服务器可以使用EC2 Instance Connect或Amazon Systems Manager会话管理器。
(3)点击“连接”后会弹出以下界面,大家根据情况配置即可。
三、RustDesk安装前配置
在正式安装RustDesk之前,请确保您的服务器防火墙已正确设置。在设置防火墙之前,请确保您已通过SSH或其他方式获得访问权限。
1、开启防火墙
sudo ufw enable
建议使用宝塔面板的免费WAF防火墙,不仅支持ARM国产系统,还拥有超高自由度的自定义拦截规则和可灵活配置各种限制访问,能够有效防CC攻击、防恶意采集、防刷接口等常见攻击和黑客渗透测试行为。
宝塔面板官网地址:https://www.bt.cn/
2、添加端口
sudo ufw allow 21114:21119/tcp
sudo ufw allow 8000/tcp
sudo ufw allow 21116/udp
sudo ufw allow 22/tcp
在亚马逊免费云服务器的安全组设置中,在入站规则添加相应的端口范围,需要确保加入的端口范围是21114至21119,并确保22、80、443端口都在安全组中,其中21116/UDP另外加入。
同样在出战规则里面也要依次将21114-21119/TCP加入安全组里,并确保22、80、443端口都在安全组中,其中21116/UDP另外加入。
注意:默认hbbs监听21114(TCP,用于网页控制台,仅在专业版中可用)、21115(TCP)、21116(TCP/UDP)和21118(TCP),hbbr监听21117(TCP)和21119(TCP)。请确保在防火墙中打开这些端口。
21116的TCP和UDP端口均应启用。21115用于NAT类型测试,21116/UDP用于ID注册服务,21116/TCP用于TCP连接服务,21117用于中继服务,21118和21119用于支持网页客户端。如果不需要网页客户端(21118、21119)支持,可以禁用相应端口。
3、重启防火墙生效
sudo ufw reload
四、下载安装RustDesk
RustDesk服务器是由hbbr和hbbs两个安装包组成。
1、下载hbbr和hbbs安装包
执行下载命令:
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-
1/rustdesk-server-hbbr_1.1.11-1_amd64.deb
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-
1/rustdesk-server-hbbs_1.1.11-1_amd64.deb
2、解压并安装
(默认解压安装生成执行文件路径/usr/bin下)
sudo dpkg -i rustdesk-server-hbbr_1.1.11-1_amd64.deb
sudo dpkg -i rustdesk-server-hbbs_1.1.11-1_amd64.deb
3、启动命令
进入hbbr和hbbs路径即/usr/bin下启动命令:
sudo ./hbbs -r <relay-server-ip[:port]>
sudo ./hbbr
这里建议使用PM2用于管理您的服务:
sudo pm2 start hbbs -- -r <relay-server-ip[:port]>
sudo pm2 start hbbr
(PM2需要Node.js v16+,如果您无法运行PM2(例如您无法hbbs在hbbrpm2 list),请从下载并安装Node.js LTS版本https://nodejs.org。如果你想让hbbs/hbbr在重启后自动运行,请查看pm2 save和pm2 startup。更多关于PM2.另一个记录日志的好工具是pm2-logrotate。)
注意:<relay-server-ip[:port]>是指服务器的IP地址和端口,参数不是必选的,只是为了方便你在被控的客户端不指定RustDesk中继服务器,如果使用默认的21117端口,则不需要指定端口,客户端指定的中继服务器优先级高于此-r。
4、查看key密钥
密钥是必需的,但您无需自行设置。hbbs首次运行时,它会自动生成一对加密的私钥和公钥(分别位于id_ed25519和id_ed25519.pub加密文件系统(英语:Cryptocryption文件系统,简称CRYPTIONS)是一种将计算机网络资源(如进程、文件、进程等)存储在运行目录中的文件系统,其主要用途是进行通讯加密。
如果没有填写Key:(公钥文件中的内容id_ed25519.pub)上一步中的配置,不影响连接,但是连接无法加密。
执行命令:cat./id_ed25519.pub会出现一个key字符串。
如果要更改密钥,请删除id_ed25519和id_ed25519.pub文件并重新启动hbbs/hbbr,hbbs将生成一个新的密钥对。
注意:本次测试是根据官方文档指导到此步之后测试使用id_ed25519.pub中的key并不能在之后的客户端使用,总是出现key不匹配的情况如下图。
所以这边通过查询RustDesk的log日志文件中发现日志文件中存在一个不知名的key记录,之后使用该key可以正常连接使用,如下图。
五、RustDesk客户端设置
最后一步是配置RustDesk的客户端。请按照以下步骤操作:
1、下载并安装RustDesk客户端
在控制端和被控制端的电脑上下载并安装RustDesk客户端。访问https://rustdesk.com/zh/
下载对应版本。
2、配置RustDesk客户端
(1)打开RustDesk客户端,并点击上方的三个点进入配置界面。
(2)打开网络配置,并解锁网络设置。
(3)解锁网络设置,在ID服务器中输入你的<外网域名>:<ID Server外网端口>,在中继服务器中输入你的<外网域名>:<Relay Server外网端口>,在Key中输入你的公钥,然后点击应用即可。
六、RustDesk远程连接
1、启动RustDesk客户端,在指定区域输入对方的ID:
2、继续输入对方提供的一次性密码,然后就可以建立连接。
如果对方没有提供一次性密码,需要等待对方接受请求才能成功连接,此时对方的屏幕上会显示如下提示:
对方同意连接后RustDesk客户端将自动建立连接并开始远程控制。