自建服务器,数据安全有保障
在远程桌面工具的选择上,向日葵和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跨域问题是在前后端分离的情况…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

剑指offer20_链表中环的入口节点
链表中环的入口节点 给定一个链表,若其中包含环,则输出环的入口节点。 若其中不包含环,则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...

基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

云原生安全实战:API网关Kong的鉴权与限流详解
🔥「炎码工坊」技术弹药已装填! 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 1. API网关(API Gateway) API网关是微服务架构中的核心组件,负责统一管理所有API的流量入口。它像一座…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...

实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...