标签搜索

目 录CONTENT

文章目录

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

yyzq
2025-11-06 / 0 评论 / 1 点赞 / 12 阅读 / 1,704 字

前言

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

本文将带你一步步搭建一个自建的 RustDesk 远程服务器,帮助你构建一个安全、稳定、可控的远程桌面环境。

项目简介

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

免责声明:

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

截图

image-1762409459080
image-1762409499872
image-1762409546016
image-1762409094514

部署方法

使用Docker安装

本教程使用docker的方式安装部署,简单便捷
164b6ac419e23bc5390dc46601a202bf

准备条件

1)一台服务器

我们使用莱卡云VPS来演示

需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网

本期docker容器占用资源情况如下仅供参考,总体占用内存大约40兆左右
image-1762409614928

端口说明:
自行放开以下端口的防火墙
21114 (TCP):用于网页控制台,仅在 Pro 版本中可用。

21115 (TCP):用于 NAT 类型测试。

21116 (TCP/UDP):请注意 21116 应该同时为 TCP 和 UDP 启用。

21116/UDP 用于 ID 注册和心跳服务。

21116/TCP 用于 TCP 打洞和连接服务。

21117 (TCP):用于中继服务。

21118 (TCP):用于支持网页客户端。

21119 (TCP):用于支持网页客户端。

2)本项目使用到的项目

本项目的官方github地址
https://github.com/rustdesk/rustdesk
本项目还使用了
自定义 Rustdesk API 服务器,包括 Web 管理后台、Web 客户端、Web 客户端 v2 预览版和 OIDC 登录
https://github.com/lejianwen/rustdesk-api
更多功能或者二次修改可以访问开源项目地址

3)域名(可选)

根据自己的需求

① VPS部署

一、Docker环境部署

在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04

推荐直接用一键脚本

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

然后再新建docker-compose.yml

vim docker-compose.yml
services:
  rustdesk:
    ports:
      - 21114:21114  # 映射 21114 端口 (TCP):用于网页控制台,仅在 Pro 版本中可用。
      - 21115:21115  # 映射 21115 端口 (TCP):用于 NAT 类型测试。
      - 21116:21116  # 映射 21116 端口 (TCP/UDP):用于 ID 注册和心跳服务 (UDP),以及 TCP 打洞和连接服务 (TCP)。需要同时启用 TCP 和 UDP。
      - 21116:21116/udp  # 映射 21116 端口 (UDP):用于 ID 注册和心跳服务。
      - 21117:21117  # 映射 21117 端口 (TCP):用于中继服务。
      - 21118:21118  # 映射 21118 端口 (TCP):用于支持网页客户端。
      - 21119:21119  # 映射 21119 端口 (TCP):用于支持网页客户端。
    image: lejianwen/rustdesk-server-s6:latest  # 使用的镜像
    environment:
      - RELAY=http://服务器IP或域名:21117  # 设置中继服务器地址
      - ENCRYPTED_ONLY=1  # 启用加密模式
      - MUST_LOGIN=N  # 是否必须登录才能远程,N表示不强制登录
      - TZ=Asia/Shanghai  # 设置时区为上海
      - RUSTDESK_API_RUSTDESK_ID_SERVER=http://服务器IP或域名:21116  # 设置 ID 服务器地址
      - RUSTDESK_API_RUSTDESK_RELAY_SERVER=http://服务器IP或域名:21117  # 设置中继服务器地址
      - RUSTDESK_API_RUSTDESK_API_SERVER=http://服务器IP或域名:21114  # 设置 API 服务器地址
      - RUSTDESK_API_RUSTDESK_WS_HOST=http://服务器IP或域名:21114  # 设置 WebSocket 服务器地址
      - RUSTDESK_API_KEY_FILE=/data/id_ed25519.pub  # API 密钥文件路径
      - RUSTDESK_API_JWT_KEY=  # JWT 密钥,留空表示不启用
      - RUSTDESK_API_JWT_EXPIRE_DURATION=  # JWT 过期时间,留空表示不启用
    volumes:
      - ./data/rustdesk/server:/data  # 将本地数据目录挂载到容器的 /data 目录
      - ./data/rustdesk/api:/app/data  # 将本地 API 数据挂载到容器的 /app/data 目录
    restart: unless-stopped  # 容器停止时自动重启,除非手动停止

networks:
  rustdesk-net:
    external: false  # 使用本地定义的网络而非外部网络

记得将服务器IP或域名改为自己服务器的IP

三、执行容器运行命令

docker-compose up -d #运行容器
docker-compose ps  #查看是否启动成功

正常启动如下所示

docker-compose ps
NAME                  IMAGE                                 COMMAND   SERVICE    CREATED          STATUS                    PORTS
rustdesk-rustdesk-1   lejianwen/rustdesk-server-s6:latest   "/init"   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)防火墙就可以web端访问了

主界面

http://ip:21114

直接打开即可使用
image-1762410180453
默认用户名是admin
密码和key可以通过查看日志获取

docker-compose logs

image-1762410266820
RustDesk API Admin服务可以查看一些日志之类的信息
image-1762410499915

或者key可以通过查看id_ed25519.pub文件获取

cat id_ed25519.pub

image-1762410872973

客户端

ruskdesk官方客户端下载
选择适合自己的客户端下载即可
image-1762410604178
根据图示在各个平台客户端填入自己的服务器信息以及Key即可使用
image-1762410701280

各个平台客户端提示成功即可
image-1762410916591

如果ip不方便的话可以自行配置域名来使用

绑定域名

VPS上的建议绑定下域名

视频教程

B站

YouTube

绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch

有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我

欢迎关注我们的微信公众号!
微信公众号

1

评论区