跳转至

自建 RustDesk 远程服务器:一步步搭建远程桌面服务

前言

RustDesk 是一款免费的开源远程桌面软件,可以在不同平台之间进行高效的桌面控制。它的特点在于不仅支持端到端加密,同时也能够在低延迟的网络环境下进行远程桌面连接。与传统的远程桌面软件相比,RustDesk 不依赖于云服务提供商,意味着你可以完全掌控自己的远程桌面服务。

20260106160647

项目简介

一款开源远程桌面应用程序,专为自托管而设计,可替代 TeamViewer、向日葵和 todesk。

免责声明

RustDesk 的开发者不认可或支持任何不道德或非法使用本软件的行为。未经授权的访问、控制或侵犯隐私等滥用行为均严格违反我们的准则。对于任何滥用本应用程序的行为,开发者概不负责。

20260106160925

准备条件

1. 一台服务器

可以使用任意 VPS,配置要求不高。Docker 容器占用资源情况如下(仅供参考):总体占用内存大约 40MB 左右。

2. 端口说明

需要开放以下端口的防火墙:

端口 协议 用途
21114 TCP 网页控制台,仅在 Pro 版本中可用
21115 TCP NAT 类型测试
21116 TCP/UDP ID 注册和心跳服务 (UDP),TCP 打洞和连接服务 (TCP)
21117 TCP 中继服务
21118 TCP 支持网页客户端
21119 TCP 支持网页客户端

3. 相关项目

  • RustDesk 官方 GitHub: https://github.com/rustdesk/rustdesk
  • 自定义 Rustdesk API 服务器: https://github.com/lejianwen/rustdesk-api

使用 Docker 安装

一、Docker 环境部署

在 VPS 安装 docker 和 docker-compose。

Docker 安装脚本

bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)

Docker-Compose 安装脚本

curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose

二、创建 docker-compose.yml 文件

登录服务器使用 root 账户执行以下步骤:

mkdir rustdesk && cd rustdesk
vim docker-compose.yml

docker-compose.yml 配置

需要注意这里面的镜像地址,我已经替换成国内Ucloud地址了,至于替换的方式稍微复杂,这里不展开细聊了,具体内容可以参考文章:

services:
  rustdesk:
    ports:
      - 21114:21114  # 网页控制台 (Pro 版本)
      - 21115:21115  # NAT 类型测试
      - 21116:21116  # ID 注册和心跳服务 (TCP/UDP)
      - 21116:21116/udp  # ID 注册和心跳服务 (UDP)
      - 21117:21117  # 中继服务
      - 21118:21118  # 网页客户端支持
      - 21119:21119  # 网页客户端支持
    image: uhub.service.ucloud.cn/infra-common/rustdesk-server-s6:latest
    environment:
      - RELAY=http://服务器IP或域名:21117  # 中继服务器地址
      - ENCRYPTED_ONLY=1  # 启用加密模式
      - MUST_LOGIN=N  # 是否必须登录才能远程
      - TZ=Asia/Shanghai  # 时区设置
      - RUSTDESK_API_RUSTDESK_ID_SERVER=http://服务器IP或域名:21116
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=http://服务器IP或域名:21117
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://服务器IP或域名:21114
      - RUSTDESK_API_RUSTDESK_WS_HOST=http://服务器IP或域名:21114
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub
      - RUSTDESK_API_JWT_KEY=  # JWT 密钥,留空表示不启用
      - RUSTDESK_API_JWT_EXPIRE_DURATION=  # JWT 过期时间
    volumes:
      - ./data/rustdesk/server:/data
      - ./data/rustdesk/api:/app/data
    restart: unless-stopped

networks:
  rustdesk-net:
    external: false

注意: 将 服务器IP或域名 替换为你实际的服务器 IP 或域名。

三、执行容器运行命令

# 运行容器
docker-compose up -d

# 查看是否启动成功
docker-compose ps

正常启动如下所示:

NAME                  IMAGE                                 SERVICE    CREATED          STATUS                    PORTS
rustdesk-rustdesk-1   lejianwen/rustdesk-server-s6:latest   rustdesk   53 minutes ago   Up 53 minutes (healthy)   0.0.0.0:21114-21119->21114-21119/tcp, [::]:21114-21119->21114-21119/tcp, 0.0.0.0:21116->21116/udp, [::]:21116->21116/udp

四、访问 Web 管理界面

成功以后需要开放 21114 端口的防火墙。

访问地址: http://IP:21114

20260106161418

默认用户名是 admin,密码和 key 可以通过查看日志获取:

docker-compose logs

20260106161601

或者通过查看 id_ed25519.pub 文件获取:

cat ./data/rustdesk/server/id_ed25519.pub

20260106161826

客户端配置

下载客户端

20260106162525

客户端网络配置

20260107171151

导入导出配置文件

20260107171438

常见问题

1. 无法连接到服务器

  • 检查防火墙是否开放所需端口
  • 确认服务器 IP 和端口配置正确
  • 检查 Docker 容器是否正常运行

2. Web 界面无法访问

  • 确认 21114 端口已开放
  • 检查容器日志:docker-compose logs

3. 客户端连接失败

  • 确认 Key 配置正确
  • 检查各服务器地址配置
  • 查看服务器日志排查问题

参考链接

回到页面顶部