自建服务器,数据安全有保障
在远程桌面工具的选择上,向日葵和TeamViewer功能强大,但都存在收费昂贵、依赖第三方服务器、数据隐私难以完全掌控等问题。相比之下,RustDesk 凭借开源免费、自建服务的特性脱颖而出!用户可以在自己的服务器上部署RustDesk服务端,完全掌握数据传输路径,不仅节省了高昂的订阅费用,还大幅提升了安全性,让远程办公更高效、更放心。

RustDesk介绍
RustDesk 是一款备受欢迎的开源远程桌面工具,以其强大的功能和高安全性赢得了用户的青睐。作为开源项目,它不仅免费,还允许用户自由定制和改进,充分满足不同场景的需求。RustDesk 支持自建服务,保障数据完全掌控在自己手中,避免第三方泄露的风险。它的流畅体验和跨平台支持,让远程办公和协作变得更加简单和高效!

它是一款开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。您可以使用我们的注册/中继服务器, 或者自己设置, 亦或者开发您的版本。
这个项目在GitHub上已经获得了77.1颗星的支持,这充分展示了它受到了许多人的喜爱和认可。

RustDesk架构概述
为了深刻理解自建服务器的重要性,首先需要全面掌握RustDesk的架构设计。RustDesk采用了一种经典的C/S架构模式,该模式由三个核心组件构成:RustDesk客户端、RustDesk服务器以及ID服务器。这种架构的设计理念及其各部分之间的相互作用是理解为何选择自建服务器方案的关键所在。

C/S模型
RustDesk的架构包括两部分:客户端和服务器。客户端安装在用户设备(如笔记本、平板或手机)上,提供图形界面让用户发起远程访问请求并进行交互。服务器则安装在要被访问的目标计算机上,负责接收连接请求,并在连接建立后向客户端发送屏幕更新和接收输入事件。
ID Server
ID Server在 RustDesk 系统中负责帮助客户端和服务器建立初次连接。当RustDesk服务器启动,它会在ID Server上注册自身信息(如服务器ID和公网IP)。客户端若想连接到某个RustDesk服务器,则通过ID Server获取该服务器的连接详情。
ID Server 保存了已注册的 RustDesk 服务器列表,并帮助客户端和服务器建立直接的点对点 (P2P) 连接。客户端从 ID Server 获取服务器的连接信息后,可以直接连接到服务器,无需再通过 ID Server 中转数据。
Relay Server
在一些网络环境下,如NAT或防火墙后,RustDesk客户端和服务器可能无法直接建立P2P连接。为此,RustDesk使用了中继服务器来解决这个问题。
当客户端不能直接连接服务器时,它会请求ID Server提供一个Relay Server。之后,客户端和服务器都通过这个Relay Server进行连接,并经由它中转所有通信数据。简单来说,Relay Server作为桥梁,负责转发双方的数据。
自建服务器
RustDesk ID Server与 Relay Server 目前提供了多种部署方案,支持在 Linux 和 Windows 系统上通过二进制文件直接安装,同时也兼容 Docker 容器化部署。详细的部署指南,请参阅 RustDesk 的官方文档。
正好,我手头有一台去年以99元购入的阿里云VPS,现在正好能派上用场。如果想了解更多关于如何购买的信息,可以参考这篇文章哦。

同时,我在服务器上安装了1Panel这款软件。我个人非常推荐它,因为它真的非常实用。只需要简单地点击几下鼠标,就可以轻松完成项目的部署。

这里我是用1panel的应用商店进行安装RustDesk,首先,我们在1panel商店搜索RustDesk,搜索结果如下图所示:

然后,点击**安装,**会弹出如下图界面,根据自己的环境进行配置。

等待几分钟后,部署成功如下图所示:

由于,我的vps启用了防火墙,所有需要方通对应的端口,所下图所示:

同时,也需要在阿里云的实例的安全组开放这些端口。如下图所示:

客户端设置
为了使用RustDesk,请分别在控制端和被控制端的电脑上安装该软件。您可以从这个链接下载。安装完成后,打开 RustDesk,点击上面的三个点,进入配置:

找到网络配置,如下图所示:

先解锁网络设置,然后在 ID 服务器中输入你的 <外网域名>:<ID Server 外网端口>,在中继服务器中输入你的 <外网域名>:<Relay Server 外网端口>,在Key中输入你的公钥。

如果是你是用1panel部署。可以通过一下方式获取公钥。
- 先打开应用商店,找到rustdesk项目,点击打开文件夹,如下图所示:

- 然后在文件路径中,找到
id*pub开头的这个文件,打开之后复制出key

当您完成配置并看到“就绪”的提示时,这就意味着您的自建服务器已经成功部署好了。如下图所示:

值得注意:如果想是用自建的服务器,不管是主控端还是被控端都要ID/中继服务器
总结
RustDesk 的开源优势与强大功能为远程办公带来了全新的可能。不管是帮助家人解决电脑问题,还是为企业构建私有远程桌面解决方案,RustDesk 都是不二之选!
赶快动手试试吧,让 RustDesk 带你畅享远程办公的新体验!
推荐阅读
-
听音乐不花钱!洛雪音乐,免费享受高品质音频
-
TextFSM模板太复杂?ntc-templates让一切变得简单!
-
告别手动巡检,自动化让网络设备管理更高效
-
数据备份不再难,图解三大组网方式,保护你的数字生活
-
家庭数据存储新选择:NAS让你的手机不再烦恼存储空间!
-
开发者之选:Bruno如何在竞争中脱颖而出
相关文章:
自建服务器,数据安全有保障
在远程桌面工具的选择上,向日葵和TeamViewer功能强大,但都存在收费昂贵、依赖第三方服务器、数据隐私难以完全掌控等问题。相比之下,RustDesk 凭借开源免费、自建服务的特性脱颖而出!用户可以在自己的服务器上部署RustDesk服务端&…...
CCF-GESP 编程能力认证 C++ 七级 2024年9月份判断题详细解析
链接:CCF-GESP 编程能力认证 C 七级 2024年9月份选择题详细解析-CSDN博客 目录 第 1 题 第 2 题 第 3 题 第 4 题 第 5 题 第 6 题 第 7 题 第 8 题 第 9 题 第 10 题 第 1 题 表达式 a << 1 的结果为 a(错误) 【a是字符常…...
使用Vue3+Echarts实现加载中国地图,点击省份地图下钻(完整教程)
一. 前言 在众多 ECharts 图表类型中,开发者始终绕不开的有各种各样的地图开发,关于地图开发,可能比其他图表相对繁琐一些,其实说简单也简单,说复杂也复杂,其中不乏有层级地图、3D 地图等,感觉…...
NUMA-非统一内存访问架构
NUMA(Non-Uniform Memory Access) 是一种计算机内存架构,主要用于多处理器系统。NUMA架构中的每个处理器都连接到自己的本地内存,并且可以访问其他处理器的内存,但访问其他处理器的内存速度较慢。 内核通过调度优化进…...
初识交换机和路由器
目录 初识交换机和路由器交换机路由器主要区别工作流程如果是交换机:如果是路由器 初识交换机和路由器 左为路由器,右为交换机 交换机 交换机的前身是集线器,集线器是物理层的设备,有很多接口,当一台计算机A想发消息…...
SQL面试题——滴滴SQL面试题 取出累计值与1000差值最小的记录
滴滴SQL面试题 取出累计值与1000差值最小的记录 今天的题目来自滴滴出行 已知有表cost_detail包含id和money两列,id为自增,请累加计算money值,并求出累加值与1000差值最小的记录。 +-----+--------+ | id | money | +-----+--------+ | 1 | 200 | | 2 | 300 …...
openEuler 22.03 使用cephadm安装部署ceph集群
目录 目的步骤规格步骤ceph部署前准备工作安装部署ceph集群ceph集群添加node与osdceph集群一些操作组件服务操作集群进程操作 目的 使用ceph官网的cephadm无法正常安装,会报错ERROR: Distro openeuler version 22.03 not supported 在openEuler上实现以cephadm安装部…...
C++哈希(一)
1.底层结构 顺序结构以及平衡中,元素关键码与其存储位置之间没有相对应的关系,因此在查找一个元素时,要经过关键码的多次比较。顺序查找的时间复杂度为O(N)。 理想的搜索方法:可以不经过比较,依次直接从表中直接搜索…...
阿拉丁论文助手:一键点亮学术之路
在学术研究的海洋中,每一位学者都渴望拥有一盏能够照亮前行道路的神灯。阿拉丁论文助手,正是这样一盏神奇的灯,它以其先进的人工智能技术和丰富的学术资源,为学者们的学术写作提供了全方位的支持。 一、阿拉丁论文助手简介 阿拉丁…...
视频码率到底是什么?详细说明
视频码率(Video Bitrate)是指在单位时间内(通常是每秒)传输或处理的视频数据量,用比特(bit)表示。它通常用来衡量视频文件的压缩程度和质量,码率越高,视频质量越好&#…...
嵌入式学习(17)-stm32F407串口使用注意事项
一、概述 配置串口时串口的接收一直不好使,对比例程发现了问题: 在网上也找了一些资料供参考“STM32F4的串口RX引脚不能被设置为输入是因为串口的接收(RX)功能是由硬件电路实现的,无法通过软件配置来控制。串口接收功…...
汽车48V电气系统
汽车48V电气系统 汽车48V电气系统汽车48V电气系统设计汽车48V电气系统测试汽车48V系统是48V供电和12V供电共存的么?48V供电系统是如何与12V供电系统共存的?48V电气系统测试的难点有哪些?在汽车48V电气系统通信测试中,如何向12V的控制器和48V的控制器供电?汽车48V电气系统通…...
【人工智能基础05】决策树模型习题
文章目录 1. 归一化对决策树的影响2. 选择决策树模型3. 决策树计算4. 基尼系数的优势5. 在叶子上使用线性模型的优缺点 1. 归一化对决策树的影响 题目:对于一些机器学习模型(例如,神经网络),对特征进行归一化(normaliz…...
rockit 学习、开发笔记(六)(VENC)
前言 上节我们讲到了VDEC解码模块,那当然少不了VENC编码模块了,一般有编解码的需求都是为了压缩视频的大小,方便减少传输所占用的带宽。 概述 VENC 模块,即视频编码模块。本模块支持多路实时编码,且每路编码独立&am…...
spring技术点
引入对象 Autowired 和 Resource的区别 Autowired 和 Resource的区别 valid 参数校验 jarkata进行SpringMVC校验 常规当前进行校验的配置操作,参考文档如下进行操作。 SpringMVC校验注解不生效 List类型参数校验 由于list类型默认不能进行标注校验实现&#x…...
R语言使用“纽约市数据集中的优步皮卡”数据创建不同年度时间范围的可视化
一、项目背景 为了分析纽约市优步(https://baike.baidu.com/item/Uber/14900884)皮卡在不同年度的使用情况,需要利用R语言进行数据可视化。通过对比不同年度的数据,可以揭示出优步皮卡使用的趋势和变化。 二、数据准备 数据集&a…...
电阻计RM3544、RM3545的使用
目录: 一、电阻计与PC通讯 1、硬件连接 2、RmLogger.exe的使用 二、RM3545测量35uΩ电阻 一、电阻计与PC通讯 1、硬件连接 可以设置USB或COM口(串口)连接PC,也可以设置为“打印”输出。 1)使用USB连接PC 2)使用串口连接PC …...
Unity 策略游戏地图上的网格是如何实现的
在Unity中实现策略游戏地图上的网格,主要涉及到地图数据的处理、地图的加载与渲染、以及玩家在地图上的移动与碰撞检测等关键步骤。以下是对这些步骤的详细解释: 一、地图数据的处理 收集地图数据:这包括地形高度、地形纹理、建筑物、树木等…...
《鸟哥的Linux私房菜基础篇》---4 Linux档案的压缩与打包
目录 一、常见的压缩包的扩展名 二、常见的压缩和解压指令 1、tar 2、tar gzip(.tar.gz) (或 .tgz) 3、tar bzip2(.tar.bz2) 4、zip 5、gzip 6、bzip2 7、xz 8、rar 9、7z 三、安装解压工具 一、常见的压缩包的扩展…...
Springboot 2.7+解决跨域问题,到底是在SpringBoot中添加拦截器还是修改Nginx配置
文章目录 1摘要2 核心代码2.1 SpringBoot 全局跨域拦截器2.2 Nginx 配置跨域处理2.3 Nginx 和 SpringBoot 同时添加允许跨域处理会怎么样? 3 推荐参考资料 1摘要 跨域问题报错信息: Referrer Policy:strict-origin-when-cross-origin跨域问题是在前后端分离的情况…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
虚幻基础:角色旋转
能帮到你的话,就给个赞吧 😘 文章目录 移动组件使用控制器所需旋转:组件 使用 控制器旋转将旋转朝向运动:组件 使用 移动方向旋转 控制器旋转和移动旋转 缺点移动旋转:必须移动才能旋转,不移动不旋转控制器…...
Axure零基础跟我学:展开与收回
亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...
