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

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

相关推荐
JudithHuang1 小时前
把本地服务暴露到公网
运维
yt004yt1 小时前
### 越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
yt004yt2 小时前
越华环保集团|绿岛 VOCs 集中治理,管网系统安全设计工程实战分享
大数据·运维
晚安日记wanna2 小时前
压测 TPS 卡在 800CPU 只跑四成六步定位法
运维·面试·测试
T1mzhou2 小时前
ARM64 平台安全学习记录
linux·服务器·arm开发·arm
吴声子夜歌3 小时前
Shell编程实例——bash入门
linux·运维·shell
爱和冰阔落4 小时前
【Linux】条件变量为什么必须配合互斥锁:从 pthread_cond_wait 到阻塞队列
linux·运维·c++·缓存·中间件·安卓
tedcloud1234 小时前
God‘s Eye View 怎么搭建?在云服务器上部署一个实时 3D 地球可视化平台
linux·服务器·开发语言·后端·rust
初願致夕霞4 小时前
Linux 进程间通信(IPC)机制详解:管道、FIFO 与 System V 共享内存
linux·服务器·c++
ynchyong4 小时前
Linux nohup 后台服务合并标准错误输出到一个文件
java·linux·运维