远程桌面从微软的RDP到各种第三方,陆续用了不少,用的时间最长的最开始是Teamview,体验很好,被商业化后陆续短时间尝试过向日葵、qq远程协助、Anydesk、Rustdesk、jumpdesk,均因为延迟太大和没有移动客户端这些问题被放弃,期间用了很长时间的Todesk,体验也不错,但不幸的是之后也商业化了,对个人使用的限制越来越过分。再之后很长一段时间都在使用Parsec,这个是目前我用下来强推的远程桌面应用,延迟低到个位毫秒。但最大的缺点是需要翻墙环境认证,另外没有ios客户端。
随着春暖花开万物复苏,手不禁又开始犯贱,捡起之前的Rustdesk尝试本地自建服务,结果令人吃惊,3ms的延迟和本地操作几无区别。这里记录下部署过程,总体来说还是很简单的。

首先我的网络环境是联通家宽,有公网ip。接下来ssh到一台N100的ubuntu主机

运行以下命令安装Docker

sudo apt update
sudo apt install docker.io docker-compose -y

在 Ubuntu 中创建一个用于存放 RustDesk 数据的目录:

mkdir -p ~/rustdesk-server && cd ~/rustdesk-server

创建 docker-compose.yml 配置文件:

nano docker-compose.yml

将以下内容复制并粘贴到文件中。注意:其中我的域名需要替换为实际的域名或公网IP:

version: '3'

services:
  hbbs:
    container_name: hbbs
    image: rustdesk/rustdesk-server:latest
    command: hbbs -r xxxxx.hdmc.fun:21117 -k _
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: always

  hbbr:
    container_name: hbbr
    image: rustdesk/rustdesk-server:latest
    command: hbbr -k _
    volumes:
      - ./data:/root
    network_mode: "host"
    restart: always

保存并退出(在 nano 中按 Ctrl + O 保存,Enter 确认,Ctrl + X 退出)。

有墙环境下现在启动服务大概率会因为超时失败,建议直接将加速源写入 /etc/docker/daemon.json:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io"
  ]
}
EOF

新加载配置并重启 Docker 服务

sudo systemctl daemon-reload
sudo systemctl restart docker

重新拉取并启动 RustDesk:

cd ~/rustdesk-server
sudo docker-compose up -d

等待几秒后会显示

Creating hbbr ... done
Creating hbbs ... done

此时服务就已经跑起来了

接下来运行以下命令查看Key

cat data/id_ed25519.pub

屏幕上会输出一串很长的字符(例如 ..JRq+j1Vz++ic1ZwF0u5cEHiyRq4=),请复制并保存这串字符,稍后配置客户端时会用到。

在Ubuntu系统上放行端口

sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
sudo ufw reload

路由器上设置端口映射
把公网访问的这些端口转发到局域网内的N100主机

到此大功告成

最后修改:2026 年 06 月 23 日
如果觉得我的文章对你有用,请随意赞赏