自建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 私有服务器,数据完全掌控在自己手中,告别第三方服务器隐私风险!

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

相关推荐
jieyucx2 小时前
【服务器特性】结合服务器/CMS:解析漏洞实战
运维·服务器·web安全·文件上传
九硕智慧建筑一体化厂家2 小时前
无线动能开关|烘焙后厨防潮免布线照明控制方案
运维·笔记·智慧城市
三言老师2 小时前
free查看内存与缓存状态实操
运维·服务器·网络·centos
无锡耐特森2 小时前
通过CAN转Profinet网关与PLC的配合引领智慧物流的未来
运维·服务器·网络
用什么都重名2 小时前
Ubuntu 24.04 安装 NVIDIA 驱动:解决 “NVIDIA-SMI has failed“ 报错全记录
linux·运维·ubuntu
有续技术2 小时前
三菱 (Mitsubishi) 机床 设置查看 IP 地址
linux·服务器·网络
yagami_gagami2 小时前
第四届黄河流域公安院校电子物证个人赛服务器取证
linux·服务器·网络·mysql·安全·docker·llama
九硕智慧建筑一体化厂家2 小时前
直流照明|档案库房专用照明,防紫外线、防纸张老化、适配24小时值守
运维·网络·笔记·智慧城市
邪修king3 小时前
Re:Linux系统篇(七) 开发工具篇 Chapter3:Makefile 从入门到精通 —— 依赖关系、伪目标、栈式推导与自动化构建全解
linux·运维·服务器·vim