服务器部署RustDesk记录
本文详细介绍了在Ubuntu 22.04系统上通过Docker部署RustDesk自建远程桌面服务的完整流程。主要内容包括:1)安装Docker和Docker Compose环境;2)创建部署目录并配置docker-compose.yml文件;3)启动hbbs和hbbr两个核心服务容器;4)生成密钥对并配置防火墙开放21115-21119等必要端口;5)获取公钥并完成客户端连接配置。整个过程通过M
文章目录
部署架构图
背景
1、服务器系统:Ubuntu 22.04.5 LTS
2、Rustdesk An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
第一步:安装 Docker 和 Docker Compose
依次执行以下命令:
# 先更新软件包列表,然后升级所有已安装的软件(确保系统最新,减少后续错误)
sudo apt update && sudo apt upgrade -y
# 安装 Docker
sudo apt install -y docker.io docker-compose
# 开机自启
sudo systemctl enable --now docker
# 把当前用户加入 docker 组,避免每次都要 sudo(推荐)
sudo usermod -aG docker $USER
执行完后,重新登录服务器(退出 SSH 再重新连),让 docker 组权限生效。
第二步:创建部署目录
# 创建 RustDesk 部署目录
mkdir -p ~/rustdesk/data
# 进入目录
cd ~/rustdesk
第三步:创建 docker-compose.yml 文件
服务架构说明
在当前目录(~/rustdesk)中执行以下命令创建配置文件:
nano docker-compose.yml
然后把下面完整内容复制粘贴进去:
version: '3'
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs -r your_server_ip:21117 # 把 your_server_ip 改成你服务器的公网 IP
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
把 your_server_ip 替换成你服务器的实际公网 IP(例如 123.45.67.89)。
保存并退出:
- 按键盘
Ctrl + O(保存文件) - 按
Enter(确认文件名) - 按
Ctrl + X(退出 nano)
第四步:检查配置文件并启动服务
在 ~/rustdesk 目录下依次执行以下命令:
# 1. 查看你刚才创建的文件内容(确认是否正确)
cat docker-compose.yml
# 2. 启动两个服务(hbbs 和 hbbr)
sudo docker compose up -d

第五步:查看服务日志并生成密钥
依次执行以下命令
# 查看 hbbs 日志(最重要的)
sudo docker logs hbbs
# 查看 hbbr 日志
sudo docker logs hbbr
# 查看两个容器运行状态
sudo docker compose ps


第六步:开放防火墙端口
依次执行以下命令:
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 reload
第七步:启用 UFW 防火墙
依次执行以下命令:
# 先允许 SSH(防止启用后把自己锁在外面!)
sudo ufw allow 22/tcp
# 启用 UFW
sudo ufw enable
# 查看最终状态
sudo ufw status

第八步:获取 Key 并完成部署
密钥生成与验证流程
执行以下命令,获取你的 Key(公钥):
cat ~/rustdesk/data/id_ed25519.pub
其中id_ed25519为文件名每次生成不一样
记录以下信息:
- ID 服务器:服务器 IP 地址
- 中继服务器:服务器 IP 地址:21117
- Key(公钥):text3rmxxxx-xxxYcrXIqs4ZA=
将信息填入RustDesk程序

常用
服务状态监控视图
端口与协议关系图
查看服务状态
# 查看两个服务的运行状态
sudo docker compose ps
# 查看 CPU、内存占用
sudo docker stats
重启服务
cd ~/rustdesk
sudo docker compose restart
重置 / 重新生成 Key
# 1. 停止服务
cd ~/rustdesk
sudo docker compose down
# 2. 删除旧的密钥文件
rm -f ~/rustdesk/data/id_ed25519*
rm -f ~/rustdesk/data/*.pub
# 3. 重新启动服务(会自动生成新的 Key)
sudo docker compose up -d
# 4. 查看新的 Key
cat ~/rustdesk/data/id_ed25519.pub
希望本片文章对你有所帮助,掰掰~👋
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)