RustDesk 自建服务端教程:开源远程桌面,完全掌控你的数据
RustDesk 自建服务端教程:开源远程桌面,完全掌控你的数据
RustDesk 是开源的远程桌面软件,功能对标 TeamViewer 和 AnyDesk,但完全免费,最重要的是可以自建中继服务器。官方公共服务器速度受限,而且数据经过第三方中转;自建服务端后,连接走你自己的服务器,速度快、延迟低、数据不经第三方,适合有隐私要求或频繁使用远程桌面的用户。
工作原理
客户端 A ──── 信令(ID服务器)────── 客户端 B \ / ──── 中继(Relay服务器)──自建需要两个服务:
- hbbs:ID 注册和信令服务器(帮助设备找到对方)
- hbbr:中继服务器(直连失败时中转流量)
服务器配置建议
| 用途 | CPU | 内存 | 带宽 |
|---|---|---|---|
| 个人/家庭(<5人) | 1 核 | 512MB | 10Mbps |
| 小团队(<20人) | 2 核 | 1G | 50Mbps |
RustDesk 本身很轻量,带宽是瓶颈。远程桌面的流量大约是 2–5Mbps/路(分辨率和帧率影响很大), 雨云服务器 rainyun+com 的大带宽机型非常适合,注册后填这个码2026off可以领 5 折券。
Docker Compose 部署(推荐)
mkdir-p/opt/rustdeskcat>/opt/rustdesk/docker-compose.yml<<'EOF' version: "3.8" services: hbbs: image: rustdesk/rustdesk-server:latest container_name: rustdesk-hbbs command: hbbs ports: - "21115:21115" # 信令(UDP) - "21116:21116" # 信令(TCP) - "21116:21116/udp" - "21118:21118" # WebSocket volumes: - ./data:/root networks: - rustdesk depends_on: - hbbr restart: unless-stopped hbbr: image: rustdesk/rustdesk-server:latest container_name: rustdesk-hbbr command: hbbr ports: - "21117:21117" # 中继 - "21119:21119" # WebSocket 中继 volumes: - ./data:/root networks: - rustdesk restart: unless-stopped networks: rustdesk: driver: bridge EOFcd/opt/rustdeskdockercompose up-d开放防火墙端口
sudoufw allow21115/tcpsudoufw allow21116/tcpsudoufw allow21116/udpsudoufw allow21117/tcpsudoufw allow21118/tcpsudoufw allow21119/tcp获取服务器密钥
启动后,服务器会在/opt/rustdesk/data/目录生成密钥文件:
# 查看公钥(客户端配置时需要填入)cat/opt/rustdesk/data/id_ed25519.pub客户端配置
下载 RustDesk 客户端(Windows/macOS/Linux/Android/iOS),然后配置自建服务器:
方法一:GUI 配置
打开 RustDesk → 设置 → 网络 → ID 服务器:
ID 服务器:你的服务器IP 中继服务器:你的服务器IP(留空则和 ID 服务器相同) API 服务器:留空 Key:填入上面获取到的公钥内容方法二:配置文件(批量部署推荐)
在 RustDesk 安装目录放置配置文件RustDesk.toml:
rendezvous_server = "服务器IP:21116" relay_server = "服务器IP:21117" rs_pk = "公钥内容"Windows 批量部署脚本:
@echo off set SERVER_IP=你的服务器IP set SERVER_KEY=公钥内容 reg add "HKLM\SOFTWARE\Policies\RustDesk" /v "rendezvous_server" /t REG_SZ /d "%SERVER_IP%:21116" /f reg add "HKLM\SOFTWARE\Policies\RustDesk" /v "rs_pk" /t REG_SZ /d "%SERVER_KEY%" /f部署 RustDesk Web 控制台(可选)
RustDesk Pro 版提供 Web 管理控制台,开源版没有,但可以使用第三方社区版:
dockerrun-d\--namerustdesk-api\-p3000:3000\-v/opt/rustdesk/data:/db\-eRUSTDESK_API_DB_TYPE=sqlite\rustdesk/rustdesk-api-server:latest访问http://服务器IP:3000进行管理。
监控服务状态
# 查看服务是否正常dockercompose-f/opt/rustdesk/docker-compose.ymlps# 查看连接数dockerexecrustdesk-hbbrnetstat-an|grepESTABLISHED|wc-l# 查看日志dockercompose-f/opt/rustdesk/docker-compose.yml logs-f更新服务端
cd/opt/rustdeskdockercompose pulldockercompose up-d性能优化建议
对于远程控制延迟高:
- 优先使用雨云服务器国内节点,就近中转延迟最低
- 确认客户端尝试直连(P2P),实在不行再走中继
- 降低远程端的显示分辨率和帧率
设置画质/帧率:在 RustDesk 连接建立后,右上角菜单 → 显示 → 调整画质和帧率。
安全加固
# 修改服务器监听,只接受有密钥的客户端# 在 hbbs 启动参数里加 -k _ (强制需要密钥)在docker-compose.yml里:
command:hbbs-k _# 空 Key 则拒绝连接,只允许有正确 Key 的客户端自建 RustDesk 服务端对于有多台设备需要管理或经常远程帮助家人的用户来说非常实用。雨云服务器部署后,所有远程连接都走国内节点中转,速度和稳定性比官方公共服务器好很多,而且数据完全在自己手里,不用担心隐私问题。
