前言
RustDesk 是一款免费的开源远程桌面软件,可以在不同平台之间进行高效的桌面控制。它的特点在于不仅支持端到端加密,同时也能够在低延迟的网络环境下进行远程桌面连接。与传统的远程桌面软件相比,RustDesk 不依赖于云服务提供商,意味着你可以完全掌控自己的远程桌面服务。
本文将带你一步步搭建一个自建的 RustDesk 远程服务器,帮助你构建一个安全、稳定、可控的远程桌面环境。
项目简介
一款开源远程桌面应用程序,专为自托管而设计,可替代 TeamViewer。
免责声明:
RustDesk 的开发者不认可或支持任何不道德或非法使用本软件的行为。未经授权的访问、控制或侵犯隐私等滥用行为均严格违反我们的准则。对于任何滥用本应用程序的行为,开发者概不负责。
截图




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

准备条件
1)一台服务器
我们使用莱卡云VPS来演示
需要vps的可以看以下信息配置可以参考以下资源占用情况
莱卡云官网
本期docker容器占用资源情况如下仅供参考,总体占用内存大约40兆左右

端口说明:
自行放开以下端口的防火墙
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
直接打开即可使用

默认用户名是admin
密码和key可以通过查看日志获取
docker-compose logs

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

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

客户端
ruskdesk官方客户端下载
选择适合自己的客户端下载即可

根据图示在各个平台客户端填入自己的服务器信息以及Key即可使用

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

如果ip不方便的话可以自行配置域名来使用
绑定域名
VPS上的建议绑定下域名
视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区