自建远程桌面连接服务,RustDesk搭建教程 | 您所在的位置:网站首页 › rustdesk手机中文远程 › 自建远程桌面连接服务,RustDesk搭建教程 |
什么时候需要远程协助呢? 可能是远程自己在家的电脑,方便游戏排队或者下载文件;也可能是远程单位电脑,进行远程办公;当然,我觉得更多情况是远程小伙伴,帮小伙伴解决一些技术问题。 远程协助,除了可以用向日葵、QQ远程和Todesk等软件,有没有一款安全、经济和快速的软件呢? RustDesk本次教程,推荐大家部分RustDesk,部署自己的自建远程平台。 主要的优点: 安全性:RustDesk使用安全的加密通信协议来保护数据传输,确保远程桌面连接的安全性和隐私保护。 跨平台支持:RustDesk支持跨多个操作系统平台,包括Windows、macOS和Linux、Android等,这使得它非常灵活和适用于不同的工作环境。而且从名字可以看出,RustDesk是使用Rust所编写,而使用Rust编写的程序,两大特点就是高效和并发,实际使用上,一台亚马逊入门(1C1G)EC2或者Lightsail(1C2G)给个人或者小型团队使用是没有问题的。 准备工具服务器目前,RustDesk支持Linux Server和Windows Server服务器;看自己的取舍,Linux比较节约资源,而Windows方便小白上手。 为了重新体现我们是Linux技术博主,本次搭建使用Linux Server进行演示(亚马逊 EC2)。 如果你并没有服务器设备,需要一个购买/租借,可以先访问亚马逊的用户试用,免费试用。等试用期过,Linux差不多也使用熟练,EC2也不贵;甚至可以买亚马逊的Lightsail,性价比很高。 亚马逊试用地址: https://aws.amazon.com/cn/free当然,如果你需要大陆服务器,强烈推荐: 腾讯云轻量应用服务器Lighthouse腾讯云轻量应用服务器学生优惠另外,为大家争取到优惠*(੭ˊᵕˋ)੭ଘ: 本站专属腾讯云秒杀链接(可低价购买轻量应用服务器)根据RustDesk官网描述和实际测试,一台1C 1G的亚马逊EC2,中继模式下,8对设备远程依旧不卡 实际上,就算再翻翻,估计也不会卡;亚马逊的EC2免费套餐的网络,可是300Mbps~1000Mbps的速度;理论上,一个中型企业使用都够,就是套餐内的100G流量中继情况下可能不够。 如果你是Windows Server用户,那么建议至少选择2C 4G的服务器配置,毕竟需要让Windows Server可以跑起来;本文主要演示Linux Server的方法。 辅助视频部分东西,还是视频比较清晰。 这里做个视频,主要内容: 演示如何初始化亚马逊EC2 如何在SSH连接服务器 如何部署RustDesk服务 如何注册为服务(Systemctl版本)做教程视频不易(B站根本不会推荐引流),请务必一键三连嗷~ B站视频地址:https://www.bilibili.com/video/BV148411i7DR 支持创作制作教程不易,如果热心的小伙伴,想支持创作,可以加入我们的「爱发电」电圈(还可以解锁远程协助、好友位😃): Mintimate的电圈: https://afdian.net/a/mintimate](https://afdian.net/a/mintimate)当然,也欢迎在B站或YouTube上关注我们: Bilibili: https://space.bilibili.com/355567627YouTube: https://www.youtube.com/@mintimate/featured更多: Mintimate's Blog 关于页面 服务器初始化因为是第一次介绍亚马逊的EC2服务器,这里我们来详细介绍一下如何初始化亚马逊服务器。 启动实例我们在拥有了亚马逊AWS的账号并绑定了VISA信用卡,就可以启动EC2的实例了,也就是启动一台服务器。 我们这里就启动一台服务器进行演示。 出于个人习惯,我使用Debian系列的系统镜像;你可以和我一样,也可以按个人喜好选择Ubuntu、CentOS等,不过我不是很推荐CentOS、Redhat(毕竟CentOS现在已经停止维护) 在密钥对(登录)中,我们最好创建RSA密钥对,方便我们一会进行SSH的远程登录: 创建好后,密钥会自动下载: 关于安全组,如果你是第一次使用服务器,那么我建议你刚开始可以放行所有端口;如果你已经对安全组轻车熟路,那么需要放行本次使用使用的端口: TCP (21115, 21116, 21117, 21118, 21119) UDP (21116)之后,我们就可以连接服务器;举个例子,我这次最后购买的EC2: 点击进入,我们的可以使用公网IP进行登录(这里我分配了弹性IP): 打开我们本地的SSH工具。macOS和Linux用户可直接使用自带的Terminal工具;Windows11可以使用自带的Windows Terminal(Windows10可以在自带的应用商店内找到Windows Terminal)。 连接的SSH命令: 1ssh admin@ -i其中: admin为AWS服务器默认用户; 为上文我们创建的EC2公网IP; 为上文我们创建并自动下载的密钥对。比如我远程登录成功: 登录好以后,记得更新软件包管理器: 1sudo apt update -y建议更改一下时区,方便我们后续查看日志时候,时间和本地统一: 12# 设置时区为东八区的上海sudo timedatectl set-timezone Asia/Shanghai为了方便我们后续操作,我们创建一个新用户,便于隔离我们后续的操作: 12# 创建名叫mintimate的用户sudo useradd -m mintimate之后,设置mintimate的默认用户密码: 1sudo passwd mintimate设置过程中,密码会自动隐藏。 如果你想直接使用新用户进行SSH的登录,你可以修改SSH服务端配置(/etc/ssh/sshd_config),其中的运行密码登录注释或者设置为yes的: 最后,重启SSH服务: 12# 重启SSH服务sudo systemctl restart sshd这样,就可以使用用户进行密码登录: 当然,设置密码登录是完全可选的;你也可以直接使用自带的admin用户配合密钥进行登录。 RustDesk部署现在,我们就可以进行RustDesk的部署。如果你不是使用创建的用户进行登录,那么你可以使用su命令进行切换: 12# 切换到mintimate用户sudo su - mintimate为了方便管理,我们创建一个目录,便于管理: 12# 创建一个空目录,用于安装RustDeskmkdir ~/myApplication 下载服务端进入RustDesk的Github地址: RustDesk Server Github 发布地址我们使用的是X86版本服务器,所以这里我们下载X86版本的服务包: 拷贝下载地址,到服务器上使用wget进行下载和解压: 123456# 使用wget进行下载1.1.8-2版本(最新版本可以看上述发布地址)wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.8-2/rustdesk-server-linux-amd64.zip# 使用unzip解压unzip rustdesk-server-linux-amd64.zip# 重命名解压后文件(方便管理)mv amd64 RustDesk现在,我们的RustDesk前期的准备就完成了。接下来,我们尝试运行,之后再注册为服务。 尝试运行我们可以先尝试运行一下;确保可以使用后,我们再使用pm2挂起访问,或者systemctl注册为服务。 为了方便我们测试,这里使用screen双开两个虚拟终端,并以前台模式挂起后端进程: 12# 安装screensudo apt install screen之后,在刚刚我们的RustDesk解压后的目录内,可以看到相关的文件: 1234RustDesk├── hbbr├── hbbs└── rustdesk-utils解释一下各个作用: hbbs: RustDesk的ID服务,用于分配和注册ID; hbbr: RustDesk的中继服务,主要远程访问就是这个,如果直连远程不行,会使用hbbr进行流量中继。之后,我们使用两个screen进行启动: 1234# 创建一个叫myHbbs的虚拟终端:screen -R myHbbs# 运行hbbs./hbbs通常情况下就会启动成功: 紧接着,Ctrl+a和d返回主终端,启动hbbr。 1234# 创建一个叫yHbb的虚拟终端:screen -R myHbbr# 运行hbbr./hbbr到此,如果没什么防火墙、安全组问题,RustDesk就启动完成了。 查看这个RustDesk目录,就可以发现,多了一些数据库文件和一个证书文件: 123456789RustDesk├── db_v2.sqlite3├── db_v2.sqlite3-shm├── db_v2.sqlite3-wal├── hbbr├── hbbs├── id_ed25519├── id_ed25519.pub└── rustdesk-utils我们需要拷贝.pub这个公钥文件,用于接下来的本地配置: 比如,我的公钥文件内容:C6bJn7*******************50nCK3y4= 接下来,我们可以进行本地的配置。 本地配置到RustDesk上的客户端下载地址,下载我们的客户端: RustDesk 客户端 Github 发布地址通常情况下,我们下载最新的发布版本即可: 比如: 我这里安装macOS,并打开: 点击上面的三个点,进入配置: 找到网络配置: 解锁网络配置,上方两个输入你的服务器IP,下方的Key输入上一步内我们拷贝的公钥(对于我是C6bJn7*******************50nCK3y4=),如果你有使用域名,IP部分也可以使用域名(CDN不行): 我们没有开启强制加密,所以理论上key不填写,也可以进行连接;只是,不填写key,网络传输可能不安全。 到此,我们的配置配置就完成了。我们可以体验一下。 测试使用现在,我使用一台Linux虚拟机和我的macOS进行演示,首先在Kali Linux上安装RustDesk: 1234# 下载最新版本的RustDesk Debian客户端wget https://github.com/rustdesk/rustdesk/releases/download/1.2.2/rustdesk-1.2.2-aarch64.deb# 使用dpkg进行安装sudo dpkg -i rustdesk-1.2.2-aarch64.deb安装好后,打开RustDesk: 和刚刚一样,我们需要配置好我们自己的服务器参数。在macOS上就可以远程它了: 这个时候,实际上Linux上也是可以直接点击接受的: 最后的“套娃”效果: 现在,我们回到服务端。刚刚使用的screen可能不太优雅,这里我们准备了两个方案注册为访问,方便管理。 使用pm2运行如果要使用pm2运行,需要提前安装nodejs,使用nodejs的软件包管理器(npm或者yarn)安装pm2。 安装nodejs的方法,我在之前的文章内已经说的十分详细,这里就不再过多介绍,如果不知道如何操作,可以参考: Windows/macOS/Linux上安装Node.js,并使用NVM管理多版本Node.js就简单说一下思路和使用命令吧: 1234567891011# 安装nvmgit clone https://github.com/nvm-sh/nvm.git ~/.nvm# 追加到环境变量echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrcecho '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm' >> ~/.zshrc# 重载环境变量source ~/.zshrc# 使用nvm安装18版本nodejsnvm install 18# 使用nodejs的npm安装pm2npm install -g pm2之后,使用pm2的命令,启动hbbr和hbbs: 123# 当前正在RustDesk的目录内pm2 start hbbspm2 start hbbr之后,就可以发现。RustDesk已经启动。 具体的pm2使用,以后有机会和大家讲解。 使用Systemctl运行我其实挺喜欢用systemctl的;但是上篇文章,其实已经足够详细,这里就直接给配置的脚本吧,我们需要创建两个Server,首先是hbbs: 12345678910111213[Unit]Description=RustDesk HbbsAfter=network.target[Service]User=mintimateType=simpleWorkingDirectory=/home/mintimate/myApplication/RustDeskExecStart=/home/mintimate/myApplication/RustDesk/hbbsExecStop=/bin/kill -TERM $MAINPID [Install]WantedBy=multi-user.target 之后是hbbr: 12345678910111213[Unit]Description=RustDesk HbbrAfter=network.target[Service]User=mintimateType=simpleWorkingDirectory=/home/mintimate/myApplication/RustDeskExecStart=/home/mintimate/myApplication/RustDesk/hbbrExecStop=/bin/kill -TERM $MAINPID [Install]WantedBy=multi-user.target 到此,使用Systemctl注册为服务就完成啦。其实也可以使用screen,就是重启系统后,再次启动比较麻烦。 Q&A个人的一些使用经验,还有一些常见的问题。 如何开启强制加密如果你搭建好了RustDesk后,会发发现: 不需要设置key,也可以进行RustDesk的连接。 这是因为RustDesk默认服务器端会开启加密,但是并不强制。 如何你想开启强制加密,可以在启动hbbr和hbbs的时候,加上参数-k _: 12./hbbr -k _./hbbs -k _这样,客户端建立的连接,就需要强制设置好key,也就是我们的*.pub文件,否则无法建立通讯和远程连接: 好啦,本次的RustDesk演示就到这里;总的来说,还是很简单的;当然,对于小白用户可能会有一定的难度,建议配合教程和官方文档的同时,还需要配合一些网上Linux教程使用,尤其是亚马逊服务器的使用教程。 我在注册亚马逊服务器的时候,其实就卡了挺久的。 有什么问题,可以评论区留言哦。爱发电用户可以优先快速处理,我们有机会再见👋。 若对文章很感兴趣,可以B站关注我ヾ(≧▽≦*)o ![]() 点此跳转“爱发电”页面(○` 3′○) |
CopyRight 2018-2019 实验室设备网 版权所有 |