RustDesk 自建服务器部署和使用教程
RustDesk 是一个强大的开源远程桌面软件,是中国开发者的作品,它使用 Rust 编程语言构建,提供安全、高效、跨平台的远程访问体验。可以说是目前全球最火的开源远程桌面软件了,GitHub 星星数量达到了惊人的 64k!

与 TeamViewer、ToDesk 等专有远程访问解决方案相比,RustDesk 作为一个开源软件,提供了几个显著的优势:
- RustDesk 完全免费使用,没有任何隐藏费用或订阅计划。
- 由于其开源特性,RustDesk 的代码是透明的,可以由社区审计,从而提供更高的安全性和可信度。
- RustDesk 使用 Rust 语言开发,从根本上确保了程序的内存安全和高性能。
然而现在有一个坏消息:由于被诈骗分子频繁使用,该项目现已暂停国内服务。
作者原话:
为了进一步应对诈骗,我们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息。
官网首页也挂出了警告信息:

作者在开源中国上发布了公告,主要是因为诈骗分子通过短信链接的方式让老人下载 App,然后实施手机银行的指挥操控,受害者被骗金额巨大,对家庭造成极大的损害。

为了进一步应对诈骗,他们暂时决定停止中国地区的服务,如果用户现在通过公共服务器访问国内主机,将会收到被禁止的消息。
只能说很无奈。
好在 RustDesk 有一个很关键的特性就是它允许用户自建服务器,从而在使用 RustDesk 时获得更多的控制权和隐私保护。所谓自建服务器,也就是自建 ID Server 和 Relay Server,至于什么是 ID Server 和 Relay Server,下面我们会给大家详细介绍,并提供一步步的指南来帮助你设置自己的 ID Server 和 Relay Server。
RustDesk 架构概述
要理解自建服务器的重要性,首先需要对 RustDesk 的架构有一个全面的了解。RustDesk 采用了经典的客户端-服务器模型,其中涉及三个主要组件:RustDesk 客户端、RustDesk 服务器和 ID Server。

客户端-服务器模型
在 RustDesk 的架构中,客户端是运行在用户设备 (如笔记本电脑、平板电脑或智能手机) 上的应用程序。它提供了一个图形界面,允许用户发起远程访问请求并与远程计算机进行交互。另一方面,服务器组件运行在要远程访问的目标计算机上。它负责监听来自客户端的连接请求,并在建立连接后向客户端发送屏幕更新和接收输入事件。
ID Server 的角色
ID Server 在 RustDesk 的生态系统中扮演着重要的角色。它的主要职责是促进客户端和服务器之间的初始连接建立。当 RustDesk 服务器启动时,它会连接到 ID Server 并注册自己,提供如服务器 ID 和公网 IP 地址等信息。类似地,当客户端想要连接到特定的 RustDesk 服务器时,它会向 ID Server 查询目标服务器的连接信息。
ID Server 维护了一个已注册的 RustDesk 服务器目录,并充当客户端和服务器之间的中介,帮助它们建立直接的点对点 (P2P) 连接。一旦客户端从 ID Server 获得了服务器的连接信息,它就可以尝试直接连接到服务器,而无需进一步通过 ID Server 中继数据。
Relay Server 的角色
在某些网络环境下,RustDesk 客户端和服务器可能无法直接建立 P2P 连接,例如当它们位于 NAT (网络地址转换) 或防火墙后时。为了克服这一挑战,RustDesk 引入了 Relay Server。
如果客户端无法直接连接到服务器,它会向 ID Server 请求一个 Relay Server。然后,客户端和服务器都连接到指定的 Relay Server,并通过它来中继所有的网络通信。Relay Server 在这种情况下充当客户端和服务器之间的桥梁,转发来自一方的数据包到另一方。
值得注意的是,即使通过 Relay Server 进行通信,RustDesk 也会维护端到端加密,确保中继服务器无法访问明文数据。Relay Server 只是盲目地转发加密的数据包,而不能查看或修改其内容。
自建服务器
RustDesk ID Server 与 Relay Server 目前支持多种方式部署,可以在 Linux 和 Windows 中使用二进制直接部署,也可以使用 Docker 部署,具体可参考 RustDesk 的官方文档。
如果您不想折腾,或者不懂什么 Docker 之类的,那也没关系,Sealos 应用商店提供了一键部署的应用模板,点一下鼠标即可完成部署,非常丝滑。
由于 RustDesk 是使用 Rust 编写的,所以非常高效,并发也很强,实际测试下来,1C1G 的配置就可以给一整个小型团队使用了。Sealos 的应用模板默认给了最小配置 0.2C128M,个人使用完全足够了。如果您需要给多个人使用,可以随时调整配置,因为 Sealos 是按量付费的,你想怎么调就怎么调,想什么时候调就什么时候调,非常酸爽。
我们再来看看大家比较关心的价格:

默认最小配置每天只需要 0.12 元,根据按量付费的机制我们还可以更省钱。所谓按量付费,就是用多少付多少,这里的 “用多少” 指的是你用了多少 CPU、内存、存储等资源,那么如果我不用的时候把它暂停,用的时候再启动,每天只需要 0.01 元 (因为暂停状态下不占用 CPU 和内存,只占用存储)。
如果你是整个团队在使用,不想频繁的暂停和启动,也可以通过别的办法来省钱,比如设置一个定时任务,白天开启,夜里暂停,也可以省一半的钱。
再加上外网端口的费用,每天预计花费在 0.1~0.2 元之间。
好,说完了价格,如果你心动了,或者觉得可以一试,那么接着往下看教程。
直接打开 RustDesk 应用模板,然后点击右上角的 “去 Sealos 部署”。
如果您是第一次使用 Sealos,则需要注册登录 Sealos 公有云账号,登录之后会立即跳转到模板的部署页面。
跳转进来之后,你会看到有一个变量 ENCRYPTED_ONLY,你可以选择 1 或者 0。为了隐私和安全,强烈建议选择 1,这样就开启了强制加密,只允许建立加密连接,不容易被别人白嫖。
设置完成后,点击右上角的 “部署应用” 开始部署,部署完成后,直接点击应用的 “详情” 进入该应用的详情页面。

点击 “日志” 按钮查看日志:

日志中可以找到两个关键信息:外网域名和公钥。后面需要用到。

在 “应用商店”-> “我的应用” 中找到 RustDesk,点进去:

在 Others 中分别找到 21116 端口和 21117 端口映射的外网端口,21116 是 ID Server 的端口,21117 是 Relay Server 的端口。例如我这里的 ID Server 外网端口就是 30032,Relay Server 外网端口是 30325。

客户端设置
分别在控制端和被控制端的电脑安装 RustDesk,下载地址:https://rustdesk.com/zh/
安装完成后,打开 RustDesk,点击上面的三个点,进入配置:

找到网络配置:

先解锁网络设置,然后在 ID 服务器中输入你的 <外网域名>:<ID Server 外网端口>,在中继服务器中输入你的 <外网域名>:<Relay Server 外网端口>,在 Key 中输入你的公钥。
例如我这里的 ID 服务器就是 brffleiu.bja.sealos.run:30032,中继服务器是 brffleiu.bja.sealos.run:30325,Key 是 LNS+q8OA02k7CH+TbzO1EzikNYsFS52YiMNi3pmz56k=。

最后点击 “应用” 就可以了。
️ 注意:控制端和被控制端都设置使用相同的 ID 服务器、中继服务器和 Key,才能正常进行远程控制。
总结
本文深入探讨了 RustDesk 的架构、自建 RustDesk 服务器(ID Server 和 Relay Server)的好处以及具体的自建步骤,虽然需要一点额外的工作,但收获了很多好处,比如安全性和隐私性。
随着远程工作和协作变得越来越普遍,拥有一个安全、高效、灵活的远程访问解决方案变得至关重要。通过自建 RustDesk ID Server 和 Relay Server,你可以获得一个量身定制的解决方案,以满足您独特的需求。
RustDesk 自建服务器部署和使用教程的更多相关文章
- 阿里云Linux服务器部署JDK8实战教程
下载地址 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 文件上传 把下载的文 ...
- nodejs服务器部署教程四
nodejs服务器部署最后一篇文章,部署ssl证书,升级http为https,其实网上相关教程有很多,但是略麻烦,本教程让你一切从简,5分钟搞定https,免费一年哦 申请ssl证书 免费申请的机构有 ...
- 分享阿里云推荐码 IC1L2A,购买服务器可以直接打9折,另附阿里云服务器部署ASP.NET MVC5关键教程
阿里云推荐码为:IC1L2A 阿里云还是不错滴. 以windows server 2008 R2为例,介绍如何从全新的服务器部署MVC5 站点. 新购买的阿里云服务器是没有IIS的,要安装IIS: 控 ...
- 【云服务器部署】---Linux下安装MySQL
[云服务器部署]---Linux下安装MySQL 有关如何阿里云ECS建网站,推荐一片文章,我是是通过这篇文章安装tomcat和jdk的 网址:阿里云ECS建网站(建站)超详细全套完整图文教程! 注意 ...
- SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册
SSM 项目从搭建爬坑到 CentOS 服务器部署 - 速查手册 提示: (1)CSDN 博客左边有操作工具条上有文章目录 (2)SSM 指 Spring,Spring MVC,MyBatis Mav ...
- CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程
Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...
- 使用openssl创建自签名证书及部署到IIS教程
概要 本文讲解三个部分:1. 创建自签名证书2. 创建自己的证书颁发机构3. 以及如何配置IIS 创建自签名证书 首先,创建一个私钥文件: openssl genrsa -out myselfsign ...
- 【阿里云产品公测】阿里云ACE部署通用完整教程及评测
[阿里云产品公测]阿里云ACE部署通用完整教程及评测 作者:阿里云用户bailimei ACE应该是目前在公测的服务中应用最广泛的一项服务.在公测云引擎ACE前曾使用过新浪SAE,而ACE给我的最初印 ...
- 详细的图文介绍如何利用XAMPP本地建站的环境配置教程
原文:详细的图文介绍如何利用XAMPP本地建站的环境配置教程 WordPress 是一个简便快捷,用途广,人气旺的一个开源的博客建站程序.很有很多等您去发现. 简便快捷:在性能上易于操作.易于浏览: ...
- 【北航软件工程】Alpha阶段前端页面编写及服务器部署
前端页面编写 虽然之前对html语法有过一些了解,但是完全没有编写前端页面的经验,和我合作的czy大概也是这么个情况.在Alpha阶段的前端页面编写过程中,我们是摸着石头过河,html是个入门很快专精 ...
随机推荐
- Python设计模式----4.构建者模式
构建者模式: 将一个复杂对象的构造与表现进行分离,利用多个步骤进行创建,同一个构建过程可用于创建多个不同的表现 构建者模式一般由 Director(指挥官)和 Builder(建设者)构成 class ...
- k8s 深入篇———— pod 实战[六]
前言 pod 实战一下,主要是一些例子. 正文 例子一 pod 实例的选择: NodeSelector:是一个供用户将 Pod 与 Node 进行绑定的字段 NodeName:一旦 Pod 的这个字段 ...
- css 如何绘制正方形
前言 如何绘制正方形的问题呢,在这里我先只写一种方式,后续补齐. 正文 写正方形有一个很特殊的地方就在于我们在写html的时候,宽是一定固定的,因为不可能溢出去,但是高就不固定了,因为可能要滑动. 问 ...
- nginx 学习的前提
前言 在nginx 中,需要学会的是如何安装.基础的命令.看懂配置那么这时候才是一切的刚刚开始. 正文 安装可以去看菜鸟驿站的: https://www.runoob.com/linux/nginx- ...
- lattice crosslink开发板mipi核心板csi测试dsi屏lif md6000 fpga 常见问题解答
1. 概述 CrossLink开发板,是用Lattice的芯片CrossLink 家族系列的,LIF-MD6000-6JM80I.该芯片用于桥接视频接口功能,自带2路MIPI硬核的功能,4 LANE ...
- shell编程实现用户循环输入
如果你想在Shell脚本中实现一个循环判断用户输入是否正确,并根据情况决定是否退出系统,可以使用一个无限循环(如while true)和条件语句来实现. 以下是一个示例代码,用于演示这种情况: #!/ ...
- Qt 从 QTransform 逆向解出 Translate/Scale/Rotate(平移/缩放/旋转)分析
QTransform 用于图形绘制,它定义了如何平移(translate).缩放(scale).切变(shear).旋转(rotate)或投射(project)坐标系.注意:QTransform 是作 ...
- Oracle使用存储过程实现多行对同行数据排列组合
Oracle使用存储过程实现同行数据排列组合 对多行的同一行的多列数据进行排列组合 假设获取的原来的数据如下表 A B C D aa ab ac ad 现在我们需要对数据进行处理,将每一行的数据,类似 ...
- 飞桨PaddlePaddle的安装
飞桨PaddlePaddle的安装 MacOS 下的 PIP 安装 一.环境准备 1.1 如何查看您的环境 可以使用以下命令查看本机的操作系统和位数信息: uname -m && ca ...
- 地址标准化服务AI深度学习模型推理优化实践
简介: 深度学习已在面向自然语言处理等领域的实际业务场景中广泛落地,对它的推理性能优化成为了部署环节中重要的一环.推理性能的提升:一方面,可以充分发挥部署硬件的能力,降低用户响应时间,同时节省成本:另 ...