前言
在如今的远程办公和技术支持中,安全是首要考虑因素。然而,大部分主流的远程控制软件虽然安全,但其高级功能通常需要付费订阅,这不仅增加了成本,还可能将数据暴露在第三方服务器中。与其花费高额费用购买订阅,不如通过自建服务端,拥有完全掌控的远程解决方案。如果你动手能力强且能自行维护,这将是最佳选择。
RustDesk 介绍
RustDesk 是一款开源的远程桌面软件,类似于 TeamViewer 和 AnyDesk,但它的特点是完全开源且自托管。RustDesk 允许用户在不同的设备和平台之间进行远程控制,支持 Windows、Linux、macOS、Android 和 iOS 等操作系统。
作为向日葵等商业软件的替代方案,它具备高性能、安全性和无需订阅等优点。本文将详细介绍 RustDesk 的特点、与向日葵的对比,并指导如何通过 Docker 搭建 RustDesk 服务端。
RustDesk 与向日葵的对比
特性 | RustDesk | 向日葵 |
---|---|---|
开源 | 是 | 否 |
部署方式 | 支持自建服务端 | 官方服务器或订阅 |
数据隐私 | 完全掌控 | 依赖官方服务 |
成本 | 免费 | 部分功能需订阅 |
性能 | 高效(P2P 优先,支持中继) | 视网络状况而定 |
RustDesk 的主要优势在于开源和私有化部署,适合需要高度安全和灵活控制的用户。
搭建 RustDesk 服务端(Docker 优先)
1. 环境准备
系统与工具
- 操作系统:Ubuntu / CentOS
- 安装 Docker:
Ubuntu:
1 | sudo apt update && sudo apt install -y docker.io docker-compose |
CentOS:
1 | sudo yum update -y && sudo yum install -y docker docker-compose |
启动并设置 Docker 开机启动:
1 | sudo systemctl start docker |
2. 使用 Docker 部署 RustDesk 服务端
RustDesk 服务端包括 hbbs
(信令服务器)和 hbbr
(中继服务器),可以通过 Docker 一键部署。
拉取 RustDesk Docker 镜像
1 | docker pull rustdesk/rustdesk-server:latest |
创建 Docker 容器
运行以下命令启动服务端:
1 | docker run -d \ |
-p 21114:21114
:信令服务器(ID Server),用于设备注册和通信-p 21115:21115
:中继服务器(Relay Server),用于穿透 NAT 和中继数据传输-p 21116:21116
:API 服务器(File Transfer Server),用于文件传输和其他 API 调用-v $(pwd)/data:/data
:持久化存储数据
3. 配置防火墙
确保开放必要端口:
1 | # Ubuntu |
4. 获取秘钥与配置
RustDesk 服务端的秘钥存储在容器内 /data
目录下。
进入容器查看秘钥:
1 | docker exec -it rustdesk-server cat /data/id_ed25519.pub |
输出的公钥内容即为客户端连接时需要的秘钥。
安装客户端
你可以在 RustDesk 1.3.6 版本发布页面 下载适用于各平台的 RustDesk 客户端安装包。
客户端配置详解
在 RustDesk 客户端中,需要配置以下内容:
ID Server(信令服务器):
- 端口:21114
- 用途:负责设备注册和管理设备之间的连接。
- 示例配置:填入你的服务器域名或 IP 地址,例如
yourdomain.com
。
Relay Server(中继服务器):
- 端口:21115
- 用途:用于设备之间的中继通信,尤其是无法直接 P2P 连接时。
- 示例配置:同样填写你的服务器域名或 IP 地址。
File Transfer Server(API 服务器):
- 端口:21116
- 用途:文件传输服务,支持远程桌面的文件操作。
- 示例配置:填写与信令服务器相同的地址。
Key(秘钥):
- 用途:确保客户端与服务端的连接安全。
- 配置方式:将前面获取的公钥粘贴到「Key」字段中。
在 RustDesk 客户端的设置页面中,依次填写以上信息,完成配置。
验证服务
- 启动客户端并尝试连接目标设备。
- 检查服务端日志,确保连接正常。
查看 Docker 容器日志:
1 | docker logs rustdesk-server |
总结
RustDesk 通过开源、可私有化部署的特点,为用户提供了安全高效的远程桌面解决方案。与向日葵相比,RustDesk 的免费和隐私优势尤为突出。通过 Docker 部署 RustDesk 服务端,并结合必要端口配置和秘钥管理,可以轻松搭建自己的远程桌面服务。
参考 RustDesk 官方网站 获取更多信息。