关闭

远程桌面RustDesk私有化部署指南! 0基础向~\(≧▽≦)/~快速上手

前言

此篇指南主要目的——是记录和帮助像我一样的0代码基础的小白(●'◡'●)。

首先,感谢rustdesk官方开发开源 RustDesk。

RustDesk唯一的官方域名:rustdesk.com

RustDesk项目的概述可在 Github 项目主页上找到 :https://github.com/rustdesk/rustdesk

本指南将详细介绍如何通过 Docker 快速部署 RustDesk 服务端。

RustDesk是什么

RustDesk 是一款开源远程桌面控制软件,支持自己搭建信令和中继服务器。与 TeamViewer、ToDesk 、向日葵等专有远程访问解决方案相比,RustDesk 完全免费使用,跨平台,支持 Windows、macOS、Linux、Android 、 iOS 等多种操作系统。

❗谨慎

滥用免责声明:
RustDesk 的开发者不支持或不道德或非法使用本软件。滥用,如未经授权的访问、控制或隐私侵犯,严格违反我们的指南。作者对应用的任何滥用不负责任。


准备好了吗?下面正篇开始啦!


准备材料

  1. 一台有公网IP地址的Linux 服务器(系统Ubuntu 22.04/20.04 最方便,CentOS 同理。)

  2. 服务器部署好 Docker + Docker Compose(部署3 分钟搞定,下面有命令)

准备服务器

如果你有装好的Ubuntu 20.04 64 Bit及以上系统的VPS,则直接跳过这一步。

  • 如果你和我一样0基础小白,推荐可以去注册一个阿里云账号,注册后可以免费申请试用1个月的轻量服务器。用来部署学习和测试效果!

图上这个配置的服务器(2核4G)随便选择一款,不用担心——只是预装软件不同,系统是可以自由重置的。


  • 如何重置 阿里云服务器 系统?(可选查看)
    • 申请通过后,切换到我的试用页面;点控制台进入到服务器管理页面;
    • 服务器管理页面;点系统名称进入到服务器概览页面。
    • 服务器概览页面点右上角的重置系统,弹出重置系统页面
    • 在弹出重置系统页面,按图上顺序选择即可把系统重置为Ubuntu。

安装Docker

如果你有配置好的 Docker + Docker Compose,则直接跳过这一步。

Xshell 8连上VPS在控制台中输入指令部署:

一行一行复制粘贴下方代码到Xshell中,回车运行,等待结果,等运行结束后,再运行下一行代码。

✅ 第 1 步:SSH 登录后先更新系统补丁(这一步只是让系统自身保持最新补丁。提高系统的安全性。)

sudo apt update && sudo apt upgrade -y

✅ 第 2 步:安装 官方最新 Docker CE(含 Compose 插件)

把下面 命令逐一复制到Xshell中,每跑完一条看到提示符 $ 或 # 再复制下一条:

  • # 1. 卸载旧包
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt remove -y $pkg; done
  • # 2. 装依赖
sudo apt install -y ca-certificates curl gnupg lsb-release
  • # 3. 加密钥(让 Ubuntu 在安装 Docker 时能够验证下载的包确实是 Docker 官方出品,没有被篡改或植入恶意代码。)
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  • # 4. 加仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  • # 5. 安装 Docker + Compose 插件
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
  • # 6. 把当前用户加入 docker 组
sudo usermod -aG docker $USER

⚠️ 关键提醒:执行完上面命令后,关闭当前 Xshell 窗口,重新再连一次 SSH,让用户组生效。


✅ 第 3 步:验证安装成功

重连后再跑:

docker --version
docker compose version

docker --version          # 应 ≥ 24.x
docker compose version    # 应 ≥ v2.29

执行完后显示以上信息,Docker安装完成!

👉使用Docker部署RustDesk

 ✅ 防火墙 开放所需端口

端口协议服务用途必需
21114TCPhbbsWeb 控制台(Pro 版本)可选
21115TCPhbbsNAT 类型测试必需
21116TCP/UDPhbbsID 注册与心跳服务必需
21117TCPhbbr中继服务必需
21118TCPhbbsWeb 客户端支持可选
21119TCPhbbrWeb 客户端支持可选

提示:如果不需要 Web 客户端支持,可以关闭 2111821119 端口。

阿里云的服务器,请再参考下图在阿里云的防火墙控制台中开放所需端口。


📦配置服务

✅ 第 1 步:创建 RustDesk 专用目录 & 系统防火墙放通 RustDesk 需要的端口 & 配置RustDesk-compose 文件

mkdir ~/rustdesk && cd ~/rustdesk
sudo ufw allow 22/tcp
sudo ufw allow 21114:21119/tcp
sudo ufw allow 21116/udp
sudo ufw enable && sudo ufw status

🤔为什么这里要多补充一句sudo ufw allow 22/tcp ?

ufw 的“开关”逻辑是全量白名单制

  1. 在你执行 sudo ufw enable 之前,ufw 处于 inactive 状态,此时内核 netfilter 表里没有 ufw 规则,所有端口都靠云安全组裸奔,所以 新机22 能连。

  2. 一旦 sudo ufw enable,ufw 会立即把默认入站策略设为 DENY,然后只加载你之前显式 allow 的那几条(21115-21119/tcp、21116/udp)。
    若22 从未被 allow → 则瞬间被“拉黑”,则会导致下次Xshell等无法通过22建立远程连接。

换句话说:
不是 22 被“关掉”,而是 ufw 一启用就默认拒绝一切,除了你当时写进去的那几个端口。
所以看起来“原来好好的,突然就墙了”,其实就是缺一条 sudo ufw allow 22/tcp

cat > docker-compose.yml <<EOF
version: "3.8"
services:
  hbbs:
    container_name: rustdesk-hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs
    volumes:
      - ./data:/root
    network_mode: "host"
    depends_on:
      - hbbr
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

  hbbr:
    container_name: rustdesk-hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: unless-stopped
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
EOF

✅ 第 2 步:启动 RustDesk服务(拉镜像并后台运行)

docker compose up -d

😅如果国内用户,多次尝试docker compose up -d 遇到拉取镜像失败,请运行下面这个镜像加速的配置后,再尝试;这个配置另外还作了日志限制,能有效防止其他docker容器日志爆磁盘。

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io",
    "https://docker.1panel.live",
    "https://dockerpull.com"
  ],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "50m",
    "max-file": "10"
  }
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker
docker compose up -d

✅ 第 3 步:查看服务状态(# 看到 rustdesk-hbbs / rustdesk-hbbr 两条就成功)

docker  ps

🔑获取服务密钥

部署完成后,需要获取服务端密钥用于客户端配置:

✅ 查看公钥(客户端配置时需要,保存好)

cat ./data/id_ed25519.pub

# 输出示例
T07pESbNfyozhAEKQNpRkVPwEayOPl598q5Vf5ZA=

📱客户端使用配置指南

📥下载客户端

访问 RustDesk Releases 下载最新版本的客户端。

image-20250716105200167

若你访问GitHub困难,Windows客户端、安卓客户端可点击下方附件进行下载。

版本附件大小
Windows丨x86-64 (64-bit)rustdesk-1.4.4-x86_64.exe ~23.0 MB
Windows丨x86-32 (32-bit)rustdesk-1.4.4-x86-sciter.exe ~11.1 MB
Androidrustdesk-1.4.4-universal-signed.apk ~67.4 MB

😅安装手机客户端时,部分用户可能会遇到:比如华为手机安装时提示“该应用为诈骗应用,禁止安装”;

解决方法:使用断网大法 (先打开飞行模式,再安装APK即可)。

⚙️ 配置服务器地址

在控制端和被控端都需要进行以下配置:

  1. 打开设置 → 点击右上角 ⚙️ 设置按钮
  2. 进入网络 → 选择「网络」选项卡
  3. 解锁设置 → 点击「解锁网络设置」
  4. 配置服务器 → 点击「ID/中继服务器」

image-20250716105420155

😅解锁网络设置时——部分用户可能会遇到:出现“管理员已阻止你运行程序”的提示,通常是操作系统出于安全策略拦截了 RustDesk 的可执行文件。

Windows 系统推荐解决方法:组策略关闭“管理员批准模式”
Win+R → gpedit.msc →计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 安全选项 →找到“用户帐户控制:以管理员批准模式运行所有管理员”→ 设为“已禁用”,重启生效

📝 填写服务器信息

在弹出的配置窗口中填写以下信息:

配置项填写内容示例
ID 服务器服务器IP:21116192.168.1.100:21116
中继服务器服务器IP:21117192.168.1.100:21117
API 服务器留空-
Key之前获取的公钥T07pESb...

image-20250716151902535

✅ 验证配置

配置完成后:

  1. 点击「确认」按钮
  2. 返回主界面
  3. 确认底部状态显示为「就绪」

image-20250716151944289

🎯 开始远程连接

连接步骤:

  1. 在控制端输入被控端的 ID
  2. 点击「连接」按钮
  3. 输入被控端的连接密码(可以给被控端设置固定密码)
  4. 开始远程桌面会话!
  5. RustDesk设成开机启动。按win+r,输入shell:startup,回车,把rustdesk创建个快捷方式扔进去就可以了。
  6. 找到rustdesk的快捷方式,右键-属性,在目标(T)路径后面加上一行, --install-service -wait -Verbose,以后打开rustdesk就会自动开启服务了,别人就能远程控制本机了。参考示例:"C:\Program Files\RustDesk\rustdesk.exe" --install-service -wait -Verbose

 

恭喜你,至此,RustDesk 自建服务部署和配置已全部完成!

 

 

参考来源

  1. 自建 RustDesk 远程桌面完整部署教程 | Cactus's Blog (cactusli.net)
  2. 一个真·免费、真·开源的远程桌面神器——RustDesk - 程序员晓凡 - 博客园 (cnblogs.com)
  3. 开源、免费远程桌面RustDesk私有化部署指南 - 知乎 (zhihu.com)
  4. RustDesk Server OSS安装——RustDesk官方文档
  5. 一个视频详细讲解Rustdesk服务器自建 云服务器、普通电脑、甚至openwrt都兼容 还兼容wayland被控!_哔哩哔哩_bilibili
  6. 个人远程控制解决方案:WOL网络唤醒+Rustdesk远程控制 | ichikaの小窝
  7. rustdesk服务不自动启动 - 知乎 (zhihu.com)

 

“您的支持是我持续分享的动力”

微信收款码
微信
支付宝收款码
支付宝

嗯…自己是谁,应当由自己去探寻……
给自己多充充电,多学点东西,总会有用得到的地方。