开源免费远程控制软件RustDesk_开源远程桌面软件 rustdesk
一、RustDesk介绍
RustDesk是一款开源且免费的远程桌面控制软件,旨在为用户提供快速、安全、便捷的远程访问体验。它支持多种操作系统,包括Windows、macOS、Linux、Android和iOS,满足不同设备间的远程控制需求。
主要特性:
-
开源免费:RustDesk完全开源,个人和商业用户均可免费使用,无需担心隐藏费用。
-
端到端加密:采用端到端加密技术,确保数据在传输过程中的安全性,保护用户隐私。
-
跨平台支持:兼容Windows、macOS、Linux、Android和iOS等多种操作系统,提供广泛的设备支持。
-
文件传输:内置文件传输功能,方便用户在远程设备间交换文件。
-
自建服务器:支持用户自行搭建中继服务器,提升连接速度和稳定性,并完全掌控数据,增强安全性。
-
多显示器支持:能够处理多显示器配置,适应复杂的工作环境。
-
会话录制:提供远程会话录制功能,便于培训和文档记录。
自建服务器的优势:
RustDesk允许用户自建中继服务器,实现数据主权和增强的安全性。通过自托管,用户可以根据自身需求定制客户端,确保数据在本地环境中传输,避免第三方服务器的潜在风险。
使用场景:
RustDesk适用于远程办公、在线教育、技术支持等多种场景。其高性能和稳定性使其在处理复杂任务时依然保持流畅,满足用户的多样化需求。
总结:
RustDesk作为一款开源免费的远程桌面控制软件,凭借其强大的功能和高安全性,成为TeamViewer、AnyDesk等商业软件的有力替代品。无论是个人用户还是企业用户,都可以通过RustDesk实现高效、安全的远程控制和管理。
二、自建中继服务器
自建 RustDesk 的中继服务器可以完全控制远程连接的数据传输过程,提高安全性和连接性能,特别适合企业内网或对隐私有高要求的场景。RustDesk 使用两个主要组件:
-
hbbs(RustDesk Server)→ 信令服务器(用于注册、打洞、穿透 NAT 等)
-
hbbr(RustDesk Relay)→ 中继服务器(用于转发无法直连的流量)
1、自建服务器的前提
-
一台公网服务器(推荐 Linux,带固定 IP 或域名)
-
开放如下端口:
-
TCP:21115(hbbs)、21116(hbbr)、21118(用于Web UI,可选)
-
UDP:21116(用于中继穿透)
-
-
安装好 Docker(推荐)
2、使用 Docker 快速部署
这是推荐方式,简单易管理。
1. 创建 Docker 网络和目录
docker network create rustdesk-netmkdir -p ~/rustdesk-servercd ~/rustdesk-server
2. 创建 Docker Compose 文件
docker-compose.yml
内容如下:
version: \'3\'services: hbbs: image: rustdesk/rustdesk-server:latest container_name: hbbs restart: unless-stopped network_mode: host command: hbbs -r :21117 hbbr: image: rustdesk/rustdesk-server:latest container_name: hbbr restart: unless-stopped network_mode: host command: hbbr
❗ 替换
为你服务器的公网 IP。
3. 启动服务器
docker-compose up -d
可以通过查看日志确认服务是否启动成功:
docker logs -f hbbsdocker logs -f hbbr
3、客户端如何连接自建服务器
在 RustDesk 客户端中设置:
-
打开「设置」 → 「ID/中继服务器」手动设置:
-
中继服务器地址 =
你的服务器IP或域名
-
中继服务器端口 =
21115
-
中继 NAT 端口 =
21116
-
三、 完整的一键部署脚本
完整的一键部署脚本,支持以下功能:
1、功能列表
-
自动安装 Docker 和 Docker Compose
-
自动部署 RustDesk 中继服务器(
hbbs
+hbbr
) -
支持自定义端口(可配置)
-
自动申请 TLS 证书(使用 Caddy + Let\'s Encrypt)
-
支持反向代理、自动续期 TLS
-
可选自建客户端构建支持(稍后单独提供)
2、RustDesk 一键部署脚本(含 TLS)
1.使用说明:
-
你的服务器必须绑定域名(用于申请 TLS 证书)
-
域名需要已解析到服务器公网 IP(A 记录)
2.安装脚本:install_rustdesk_tls.sh
#!/bin/bashset -e# === 配置项(请根据你的情况修改) ===DOMAIN=\"your.domain.com\" # 绑定的域名RELAY_PORT=21117 # 中继端口(客户端连接此端口)WORK_DIR=\"/opt/rustdesk-server\" # 安装目录echo \">>> 安装 Docker 和 Docker Compose...\"apt update && apt install -y docker.io docker-composeecho \">>> 创建工作目录...\"mkdir -p $WORK_DIR && cd $WORK_DIRecho \">>> 创建 docker-compose.yml...\"cat > docker-compose.yml <>> 创建 Caddyfile...\"cat > Caddyfile <>> 启动服务...\"docker-compose up -decho \"✅ RustDesk Server 已部署成功!\"echo \"🌐 请在客户端设置中填入以下信息:\"echo \"-----------------------------------\"echo \"中继服务器地址: ${DOMAIN}\"echo \"端口: ${RELAY_PORT}\"echo \"使用 TLS: ✅\"echo \"-----------------------------------\"
3.使用方法:
-
修改脚本中的
DOMAIN
为你自己的域名。 -
上传并运行:
chmod +x install_rustdesk_tls.sh./install_rustdesk_tls.sh
四、定制RustDesk Windows 客户端
1、功能列表
-
✅ 内嵌你自建的中继服务器地址(
hbbs
和hbbr
) -
✅ 内嵌默认远程访问密码(受控端自动启用)
-
✅ 可替换 Logo 和 UI 文案(可选)
-
✅ 打包为
.exe
安装包(便于企业部署)
2、自建客户端构建流程(Windows)
1. 环境准备(Windows 或 Linux 构建)
建议使用 Linux 或 WSL 构建(Windows 构建需装 Visual Studio 全家桶)
# 安装构建依赖(以 Ubuntu 为例)sudo apt updatesudo apt install -y git build-essential cmake curl mingw-w64# 安装 Rustcurl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/envrustup target add x86_64-pc-windows-gnu
2. 克隆 RustDesk 项目
git clone https://github.com/rustdesk/rustdesk.gitcd rustdesk
3. 修改默认配置
修改文件:src\\conf.rs
// 设置默认服务器地址(你的服务器域名或 IP)pub const DEFAULT_HBBS: &str = \"your.domain.com:21115\";pub const DEFAULT_HBBR: &str = \"your.domain.com:21116\";// 设置默认远程访问密码pub const DEFAULT_PASSWORD: &str = \"yourpassword\";
4. 编译 Windows 可执行文件
cargo build --release --target x86_64-pc-windows-gnu
编译完成后生成:
target/x86_64-pc-windows-gnu/release/rustdesk.exe
3、可选:自定义 Logo 和 UI 文案
可以:
-
替换
assets/icons
中的图标 -
修改
src/lang
下的多语言字符串 -
修改 UI 风格(RustDesk 基于
fltk
)
5、建议开启双重认证
开启之后效果
五、自动化脚本
自动化脚本可一键生成 docker-compose.yml
文件,并根据你输入的参数自动设置:
1、功能特点:
-
支持是否启用 TLS(true/false)
-
自动配置服务器地址、端口
-
自动生成
docker-compose.yml
文件和可选的Caddyfile
-
支持数据持久化(
./data
挂载到容器) -
支持默认启动命令和端口映射
2、脚本名:generate_rustdesk_compose.sh
#!/bin/bashset -eecho \"=== RustDesk docker-compose 自动生成工具 ===\"read -p \"请输入你的服务器域名或公网IP: \" DOMAINread -p \"是否启用TLS? (yes/no): \" USE_TLSWORKDIR=\"./rustdesk-server\"mkdir -p $WORKDIR && cd $WORKDIRcat > docker-compose.yml <> docker-compose.ymlelse echo \" command: hbbs -r ${DOMAIN}:21117\" >> docker-compose.ymlficat >> docker-compose.yml <>> 你启用了 TLS,将为你生成 Caddyfile...\" cat > Caddyfile <<CADDY${DOMAIN}:443 { reverse_proxy 127.0.0.1:21117 tls { protocols tls1.2 tls1.3 }}CADDY echo -e \"\\n✅ 请同时部署 Caddy 容器,或使用 Nginx/Traefik 反代 21117 → 443\"fiecho -e \"\\n✅ 已生成 docker-compose.yml 文件于 $WORKDIR\"echo \"你现在可以运行以下命令启动服务:\"echo -e \"\\ncd $WORKDIR\"echo \"docker compose up -d\"
3、使用方法
- 保存为:
generate_rustdesk_compose.sh
- 赋权并运行:
chmod +x generate_rustdesk_compose.sh./generate_rustdesk_compose.sh
-
按提示输入服务器域名(如:
rust.mydomain.com
)与是否启用 TLS -
自动生成
docker-compose.yml
和可选的Caddyfile
4、后续你可以手动选择:
-
启动服务:
docker compose up -d
- 停止服务:
docker compose down
六、中继服务器的硬件要求
1、对网络的要求:较高
因为中继服务器负责转发双方之间的屏幕和控制数据,尤其在无法 P2P 打通时,所有数据都走中继,所以对网络带宽和稳定性要求较高:
🔁 并发用户越多,占用的网络越大。例如:
-
每个远程桌面会话 ≈ 1~4 Mbps(高分辨率+60fps 可能更高)
-
10 个并发用户可能占用 40Mbps 以上
2、对硬件的要求:较低
RustDesk 的 hbbs
(信令服务器)和 hbbr
(中继服务器)资源占用很小,哪怕是 Raspberry Pi 或最低配云服务器都能运行。
3、总结建议:
七、中继服务器的安全性
通过中继服务器访问是否安全?
✅ 结论:
是否安全,取决于“是否加密”和“是否信任中继服务器”。
🚨 使用他人的中继服务器时的安全风险:
✅ 如何保证中继访问的安全?
id_ed25519
密钥💡 E2EE 如何启用?
RustDesk 从 v1.1.8
开始支持 E2EE:
-
设置端:
-
客户端设置 →
Enable Encryption (E2EE)
✔️
-
-
被控端:
-
接受连接时会显示“是否接受带加密连接”
-
注意:E2EE 模式下不支持文件传输
-