以往的工作以开发为主,几乎不关心怎么部署和运维。现在由于需要在部署的机器上更新软件、获取数据等等,经常遇到远程访问机器的需求。对于简单的任务,SSH就可以了;但还有一些情况,没有GUI实在不方便操作,远程指挥同事次数少还好,次数一多对两边都是折磨。
由于已经有跳板机可以访问远程设备,故考虑在跳板机上搭建一个内网的远程桌面服务,综合考察下来,RustDesk似乎是个不错的选择。
安装RustDesk Server OSS
RustDesk的自托管服务分RustDesk Server OSS和RustDesk Server Pro。前者免费,但只提供基础的ID服务器、中级服务器实现;后者付费,提供设备管理、2FA、Web后台管理等功能。这里选择RustDesk Server OSS。
在跳板机上安装Docker Engine和Docker Compose,随后执行
mkdir rustdesk-server-oss && cd rustdesk-server-oss
mkdir data
touch compose.yml
Docker Compose的compose.yml参考官方文档给出的示例:
services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"
depends_on:
- hbbr
restart: unless-stopped
hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped
执行docker compose up -d即可启动服务,随后通过docker compose logs查看日志:
hbbs | [2026-06-29 03:38:43.913027 +00:00] INFO [src/common.rs:147] Private/public key written to id_ed25519/id_ed25519.pub
hbbs | [2026-06-29 03:38:43.913138 +00:00] INFO [src/rendezvous_server.rs:1251] Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
注意打印的Key(这里以x替代),后续在配置客户端时会使用到。
配置客户端
从 Release 1.4.8 · rustdesk/rustdesk · GitHub 下载对应平台的客户端软件并安装。Windows下双击安装EXE或MSI即可;Ubuntu 22.04下载deb包并使用dpkg安装:
sudo dpkg -i ./rustdesk-1.4.8-x86_64.deb
sudo apt install -f # 安装缺失的依赖
启动客户端,在 设置 -> 网络 -> ID/中继服务器 里填入ID服务器、中继服务器、Key等信息。RustDesk Server OSS没有API服务器,留空即可。由于RustDesk Server OSS托管在内网的跳板机上,这里ID服务器、中继服务器直接填的内网IP;如果托管在公网VPS上,则可以考虑添加一个二级域名然后解析到服务器上。

在两端的客户端软件都配置好以后,就可以从控制端输入被控端的ID,点击“连接”最后输入密码即可。