本文介绍如何在 VPS 上搭建 RustDesk 服务,本文适用于 Debian 13 以及 Ubuntu 24.04 系统。
注:请先参照 Debian & Ubuntu 服务器的初始化配置 一文对服务器进行各种必要的配置。本文默认已按初始化配置文章对服务器进行了配置。
尤其注意进行 UFW 针对 Docker 的配置,这是前置条件。
VPS 的规格要求:
512MB 及以上内存 固定公网 IP 设置变量请将 rd.example.com 换成你的域名或 VPS 公网 IP。
1 export RD_DOMAIN="rd.example.com"
安装基础工具和 Docker若已安装 Docker,可跳过此步骤。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 sudo apt update sudo apt install -y ca-certificates curl wget gnupg . /etc/os-release if [ "$ID " = "ubuntu" ]; then DOCKER_OS="ubuntu" DOCKER_CODENAME="${UBUNTU_CODENAME:-$VERSION_CODENAME } " elif [ "$ID " = "debian" ]; then DOCKER_OS="debian" DOCKER_CODENAME="$VERSION_CODENAME " else echo "Unsupported OS: $ID " exit 1 fi sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL "https://download.docker.com/linux/$DOCKER_OS /gpg" -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc sudo tee /etc/apt/sources.list.d/docker.sources >/dev/null <<EOF Types: deb URIs: https://download.docker.com/linux/$DOCKER_OS Suites: $DOCKER_CODENAME Components: stable Architectures: $(dpkg --print-architecture) Signed-By: /etc/apt/keyrings/docker.asc EOF sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin sudo systemctl enable --now docker
确保 UFW 正确配置请务必确保 UFW 已按照此教程 进行了配置。
部署 RustDesk ServerRustDesk OSS 服务端主要是 hbbs 和 hbbr;官方端口里,最小需要 21115/tcp、21116/tcp+udp、21117/tcp,21118/21119 是 Web Client,不需要就不要开启。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 sudo mkdir -p /opt/rustdesk-server/data cd /opt/rustdesk-serversudo tee compose.yml >/dev/null <<EOF services: hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs -r ${RD_DOMAIN}:21117 volumes: - ./data:/root ports: - "0.0.0.0:21115:21115/tcp" - "0.0.0.0:21116:21116/tcp" - "0.0.0.0:21116:21116/udp" depends_on: - hbbr restart: unless-stopped hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr volumes: - ./data:/root ports: - "0.0.0.0:21117:21117/tcp" restart: unless-stopped EOF sudo docker compose up -d
防火墙放行 RustDesk 容器端口执行:
1 2 3 4 5 6 sudo ufw route allow proto tcp from any to any port 21115 sudo ufw route allow proto tcp from any to any port 21116 sudo ufw route allow proto udp from any to any port 21116 sudo ufw route allow proto tcp from any to any port 21117 sudo ufw reload
检查:
若 VPS 有单独的网页控制台安全组或防火墙,确保放行:
1 2 3 4 TCP 21115 TCP 21116 UDP 21116 TCP 21117
检查服务1 2 3 4 5 6 7 8 cd /opt/rustdesk-server sudo docker compose ps sudo docker logs hbbs --tail=80 sudo docker logs hbbr --tail=80 sudo ss -lntup | grep -E '21115|21116|21117' sudo ss -lnup | grep 21116
获取服务端 public key:
1 sudo cat /opt/rustdesk-server/data/id_ed25519.pub
RustDesk 客户端如何配置以电脑端客户端为例,点击左侧 ID 旁边的三个点 ⋮,然后进 Network -> ID/Relay server,,按照下面填写:
1 2 3 4 5 6 7 8 ID Server: rd.example.com(你的域名或 VPS 的 IP) Relay Server: 留空,或者填 rd.example.com:21117 Key: 粘贴 id_ed25519.pub 内容
之后,关闭并重启客户端即可。
未来升级1 2 3 4 5 6 7 8 9 cd /opt/rustdesk-serversudo tar -czf ~/rustdesk-server-data-$(date +%F).tar.gz data sudo docker compose pull sudo docker compose up -d sudo docker image prune -f sudo ufw reload
参考