三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

保姆级教程:用 RustDesk 快速搭建一套跨平台远程桌面

保姆级教程:用 RustDesk 快速搭建一套跨平台远程桌面

保姆级教程:用 RustDesk 快速搭建一套跨平台远程桌面

【免费下载链接】rustdeskAn open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk

RustDesk 是一款开源免费的跨平台远程桌面软件,完整的远程桌面部署流程从下载到首次连接通常不超过十分钟。它以 Rust 编写核心,自带加密通信和自建服务器能力,是 TeamViewer、AnyDesk 之外最值得一试的自托管远程工具。这篇文章按"从零到生产"的主线推进,带你把家里的电脑、办公室的机器、无头服务器乃至手机平板,全部纳入同一套可统一管理的远程网络。

[!TIP] 本文面向新手和普通用户,全程以"为什么这样做"的口吻讲解,尽量少堆代码、多讲原理,看完即可照着操作。

为什么远程桌面部署要从 RustDesk 开始

选型之前先想清楚一个朴素的问题:远程桌面部署方案五花八门,为什么偏偏要选一款开源软件?把主流方案摆在一起对比,答案就非常直观。

对比维度RustDeskTeamViewerAnyDeskWindows 系统自带远程桌面
许可证开源免费(可商用自托管)个人免费、商用收费个人免费、商用收费仅限 Windows 生态
跨平台覆盖Windows / macOS / Linux / 移动端全平台全平台仅 Windows
数据链路可完全自建服务器官方中继官方中继直连为主
端到端加密内置内置内置较弱
手机平板控制支持支持支持不支持

三项关键结论:第一,RustDesk 的数据链路完全掌握在自己手里,尤其适合对隐私敏感的场景;第二,它不绑定操作系统,家里的 Windows 台式机、办公室的 MacBook、机房的 Linux 服务器可以用同一套 ID 体系打通;第三,底层能力完全开源,部署细节可以随时翻源码求证,比如平台抽象层就集中在 src/platform/ 目录下。

RustDesk 的整体链路可以这样理解:控制端与被控端各自注册一个唯一 ID,通过信令服务器完成"互相找到",再根据网络状况选择直连或中继传输画面、输入与剪贴板数据。

理清这条链路之后,下面的部署过程就顺理成章了。

第一阶段:十分钟跑通第一次远程连接

各平台安装方式一览

RustDesk 各平台都有现成的安装包,挑一种顺手的方式即可,下面这张表覆盖了最常见的场景。

场景推荐方式命令 / 操作
Windows 快速安装包管理器winget install --id RustDesk.RustDesk
macOS 图形化安装DMG 拖拽挂载镜像后拖入 Applications
Linux 桌面发行版Flatpakflatpak install flathub com.rustdesk.RustDesk
Ubuntu / Debian本地 deb 包sudo dpkg -i rustdesk-*.deb && sudo apt-get install -f
免安装场景便携版 / AppImage解压后直接运行,无需管理员权限

[!TIP] Windows 若不想写入注册表,推荐直接下载便携版,解压即用,适合在公用电脑上临时开一台"被控端"。

第一次连接的完整流程

安装完成后的第一次连接,本质上是"控制端通过 ID 找到被控端":

  1. 在两台设备上分别打开 RustDesk,各自显示一个九位数字的 ID 和临时密码。
  2. 在控制端输入被控端的 ID,点击连接。
  3. 输入被控端当前显示的临时密码,会话即建立。

主界面会把添加过的设备收进列表,方便后续一键连接。设备多了之后,你可以给每台机器打上名字、按用途分组,再也不用靠一串数字猜"这台是谁"。

第二阶段:三步完成无人值守配置,让远程桌面随时待命

临时密码每次都会变,回家远程公司电脑时没法让人帮忙报密码,这就需要"无人值守"配置。这一步是整个远程桌面部署里最实用、也最容易被忽略的环节。

第一步:固定访问密码

在"安全"设置里为设备设置一个固定密码,之后连接时输入固定密码即可,不再依赖临时口令。固定密码建议设置得足够复杂,并和系统账号密码区分开。

第二步:开启开机自启

  • 桌面系统:在设置中开启"随系统启动",RustDesk 会注册为登录自启项,重启后无需手动打开。
  • 无头服务器:走系统服务方式,参见后文第四阶段。

第三步:设置连接参数

连接前的弹窗里可以按需调整画质、延迟和会话行为:追求流畅操作就选"优化响应速度",看重画面细节就选"高质量",此外还能控制远端光标是否显示、会话结束后是否锁定对方屏幕等。这些参数直接决定远程办公的体验上限。

无人值守配置完成后,远程桌面就变成"随时待命"的状态:人不在办公室,照样能调资料、跑批处理、给同事远程协助。

第三阶段:给远程桌面套上安全防线

能连上只是第一步,远程桌面部署真正拉开差距的是安全配置。RustDesk 的安全模型可以概括为三层防线。

第一层:加密与身份

RustDesk 的通信自带端到端加密,会话双方会校验对方公钥,防止中间人窃听。自建服务器时还可以为整个网络设置统一的共享密钥,非本网络的客户端无法加入,这一层是对抗嗅探和仿冒的关键。

第二层:密码与访问控制

  • 密码复杂度尽量调高,并开启连续失败锁定,防止暴力破解。
  • 按需关闭文件传输、远程打印等非必需通道,缩小攻击面。
  • 白名单机制只放行指定网段的控制端,例如仅允许公司内网 IP 发起连接。

第三层:会话行为约束

在连接设置中开启"会话结束后锁定对方屏幕"、隐藏远端桌面上的鼠标轨迹等选项,能有效防止远程操作期间旁人窥屏。对于公用电脑,还可以限制被控端仅能查看、不能接管输入。

[!WARNING] 安全永远建立在"最弱的一环"之上。固定密码要定期更换,自建服务器的共享密钥更要妥善保管——拿到密钥就等于拿到了整个远程网络的入场券。

第四阶段:上生产环境(Linux 无头服务器远程控制)

个人电脑跑通之后,更大的诉求往往来自服务器:没有显示器、没有鼠标键盘的机房机器,如何在万里之外被完整接管?这就是 Linux 无头服务器远程控制要解决的典型问题。

让 RustDesk 以系统服务常驻

服务器没有图形登录环境,手动运行客户端显然不现实。项目的 res/rustdesk.service 已经准备好了标准 systemd 服务模板,只需复制并启用:

sudo cp rustdesk.service /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable --now rustdesk

配置好固定密码之后,这台无头服务器就拥有了稳定的远程入口,重启、掉线都能由 systemd 自动拉起。

完全自建:把信令与中继也搬到自己手里

依赖官方公共服务器虽然省事,但在内网隔离、合规审计等场景下,很多团队会选择自建信令与中继。RustDesk 的服务端由hbbs(信令)与hbbr(中继)两个组件构成,在克隆项目后编译即可:

git clone https://gitcode.com/GitHub_Trending/ru/rustdesk cd rustdesk cargo build --release ./target/release/hbbs -r <中继地址> -k <共享密钥> ./target/release/hbbr -k <共享密钥>

服务端启动后,把客户端"服务器配置"指向自己的hbbs地址,整个网络的 ID 注册与数据转发就全部收归己有。私有化部署往往还结合 Docker 封装,将服务端做成容器镜像,方便在任意环境一键拉起。

企业批量交付的套路

大批量交付时,手工一台台装显然不现实。成熟的做法是:先在"样板机"上完成无人值守与网络配置,再把配置文件导出,配合配置管理工具批量下发到同网段的机器。由于所有客户端共用同一套信令服务器与共享密钥,新机器只要拿到配置文件就能立刻入网,实现"开机即纳管"。

避坑速查:远程桌面部署常见问题清单

把部署和日常使用中最常踩的坑汇总成一张表,遇到问题先来这里对号入座。

症状可能原因对症下药
输入 ID 后一直转圈信令端口被防火墙拦截放行 21115–21119 端口,或改用自建服务器地址
画面卡顿、延迟高走了公共中继而非直连关闭占用带宽的应用,或自建低延迟中继
声音断断续续音频编码参数与带宽不匹配降低采样率,或改为高质量音频模式
无人值守失效客户端被杀掉或未自启检查系统服务 / 自启项是否正常拉起
移动端无法粘贴剪贴板同步通道被关闭确认剪贴板开关已开启

值得一提的亮点是剪贴板同步:RustDesk 的剪贴板不是简单搬运文本,而是完整转发格式数据,连远程复制文件的场景都考虑在内,其双向同步流程在 libs/clipboard/ 中有清晰实现。远程操作时"复制一段代码、切回本地粘贴"的顺滑体验,正是靠这条通道支撑的。

行动清单:现在就可以开始部署

到这里,一套从个人到生产的完整远程桌面部署路径已经走通。不必一次做完所有阶段,按下面这份清单逐步推进即可:

  • 第一周:挑一台常用电脑安装 RustDesk,完成第一次跨设备连接,熟悉界面与基本操作。
  • 第一周:为常住设备设置固定密码与开机自启,完成无人值守配置。
  • 第二周:按安全清单加固:复杂密码、失败锁定、按需关闭非必需通道。
  • 第二周:把手机/平板也装好客户端,体验移动端应急接管的便利。
  • 第三周:如有服务器,启用 systemd 服务模板,实现无头服务器远程控制。
  • 长期:团队有私有化诉求时,编译并部署hbbs/hbbr,把数据链路完全握在自己手里。

远程桌面的价值不在于软件本身,而在于"无论设备在哪,人永远不被距离困住"。花一个周末完成上面三分之一的步骤,你就能体会到这套开源方案带来的自由感——而这只是 RustDesk 全部能力的起点。

【免费下载链接】rustdeskAn open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.项目地址: https://gitcode.com/GitHub_Trending/ru/rustdesk

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表