自建RustDesk私有服务器全攻略

自建 RustDesk 私有服务器完整教程

本文将一步步教你在 Ubuntu/Debian 系统上自建一套完整的 RustDesk 私有服务器,包括 ID 服务器、中继服务器、API 服务、管理后台和 Web 客户端。所有服务通过 Docker 一键部署,并使用 Caddy 自动申请 HTTPS 证书。

注意 :本文中所有出现的公网 IP 均用 x.x.x.x 代替,域名均用 020417.xyz 代替。请将实际部署时的 IP 和域名替换为自己的。

1. 系统准备

bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install curl unzip docker.io docker-compose-plugin -y

2. 开启必要防火墙端口(UFW)

bash 复制代码
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw allow 21118/tcp
sudo ufw allow 21119/tcp
sudo ufw --force enable

3.创建 docker-compose.yml

bash 复制代码
mkdir -p ~/rustdesk && cd ~/rustdesk
nano docker-compose.yml

将以下内容粘贴进去:

yaml 复制代码
version: "3.8"

networks:
  rustdesk-net:
    external: false

services:
  rustdesk:
    container_name: rustdesk
    image: lejianwen/rustdesk-server-s6:latest   # 推荐集成镜像
    network_mode: "host"                         # host 模式最稳定
    environment:
      - TZ=Asia/Hong_Kong
      - RELAY=020417.xyz:21117
      - ENCRYPTED_ONLY=1
      - MUST_LOGIN=N                            # 首次建议设为 N,稳定后再改为 Y
      - RUSTDESK_API_RUSTDESK_ID_SERVER=020417.xyz:21116
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=020417.xyz:21117
      - RUSTDESK_API_RUSTDESK_API_SERVER=https://020417.xyz
      - RUSTDESK_API_RUSTDESK_WS_HOST=https://020417.xyz
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
      - RUSTDESK_API_LANG=zh-CN
    volumes:
      - ./data:/data                               # 存放密钥和数据库
    restart: unless-stopped

保存后启动:

bash 复制代码
sudo docker compose up -d

4. 查看日志获取管理员密码

等待 10-20 秒后查看日志:

bash 复制代码
sudo docker compose logs -f --tail 100

第一次启动时日志中会显示类似:

bash 复制代码
-> Admin Password Is: mBXCAR0w

请立即记录这个随机生成的管理员密码(本文示例为 mBXCAR0w),后续可自行修改。

5. 配置 Caddy 反向代理(自动 HTTPS)

安装 Caddy(如果未安装):

bash 复制代码
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update && sudo apt install caddy -y

编辑 Caddyfile:

bash 复制代码
sudo nano /etc/caddy/Caddyfile

替换为以下内容:

yaml 复制代码
020417.xyz {
    encode zstd gzip

    # WebSocket(网页客户端必须)
    handle_path /ws/id* {
        reverse_proxy http://127.0.0.1:21118
    }
    handle_path /ws/relay* {
        reverse_proxy http://127.0.0.1:21119
    }

    # RustDesk API + 管理后台 + Web Client
    handle_path /* {
        reverse_proxy http://127.0.0.1:21114
    }
}

重载 Caddy:

bash 复制代码
sudo systemctl reload caddy

6. 访问管理后台

打开浏览器访问:

https://020417.xyz/_admin/

  • • 默认账号:admin

  • • 默认密码:日志中显示的随机密码(示例:mBXCAR0w)

建议登录后立即修改密码,并将 MUST_LOGIN 设置为 Y 后重启容器。

7. 客户端配置

在 RustDesk 客户端中点击右上角 设置 → 网络 → ID/中继服务器,填写:

  • • ID 服务器 :020417.xyz:21116

  • • 中继服务器 :020417.xyz:21117

  • • API 服务器 :https://020417.xyz

勾选 使用加密传输(推荐)。

常见问题排查

    1. 无法连接:检查防火墙端口是否开放,域名解析是否正确。
    1. Web 客户端打不开:确认 Caddy 配置中 WebSocket 路径正确。
    1. 密码忘记 :删除 ./data 目录下的数据库文件后重启容器,会重新生成随机密码。
    1. 想强制要求登录 :将 MUST_LOGIN=N 改为 Y 并重启。

安全建议

  • • 定期备份 ./data 目录

  • • 使用强密码,并开启 ENCRYPTED_ONLY=1

  • • 生产环境建议将 MUST_LOGIN 设置为 Y

  • • 推荐配合 Fail2Ban 进一步保护


至此,你已经成功自建了一套完整的 RustDesk 私有服务器,数据完全掌控在自己手中,告别第三方服务器隐私风险!

有任何问题欢迎在下方评论区留言。

相关推荐
zmsup17 小时前
Agent 上下文调优:结合 OpsArk 运维智能体,设计模型每一步真正需要的信息
运维·agent·上下文压缩·运维智能体·上下文调优
吴声子夜歌19 小时前
Nginx应用与运维——Nginx负载均衡应用实战(二)
运维·nginx·负载均衡
lisanmengmeng19 小时前
NRPE 添加命令(一)
linux·运维·服务器
pt104319 小时前
CML网络仿真入门-2:使用CML模拟网络实验环境
运维·网络协议
树下水月20 小时前
Typora破解
linux·服务器·前端
沫璃染墨21 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
HAHAXX821 小时前
电商RPA批量上架通用方案:一套流程如何同时跑通拼多多、抖店、淘宝和跨境平台
java·运维·rpa
零基础12321 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
星夜夏空991 天前
网络编程(5)—— Reactor实现(v3)
服务器·网络·php
程序猿老A1 天前
从入门型到企业型:云服务器开放共享型到独享型规格升级
运维·服务器