海外云服务器搭建 RustDesk 自建远程桌面服务器完整教程(替代 TeamViewer/向日葵,2026最新版)

📅 · ChengziCloud - 一站式云端服务

Meta Description: 从零开始用海外云服务器搭建 RustDesk 自建远程桌面中继服务器,替代 TeamViewer 与向日葵,涵盖 hbbs/hbbr 架构与端口清单、Docker Compose 部署命令、公钥提取与客户端接入、强制加密与中继带宽 QoS 限速、Web 客户端 WSS 反向代理、数据备份与版本升级,附服务器配置推荐表、服务商价格表、中继流量测算表与 8 条常见问题 FAQ。

> 关键词:RustDesk搭建教程、自建远程桌面、TeamViewer替代方案、海外云服务器搭建远程控制、hbbs hbbr部署、RustDesk中继服务器、RustDesk公钥怎么获取、远程办公、内网远程控制、RustDesk Docker部署

前言

想摆脱"免费版被判定商业用途""连接数超限就被限速"的远程桌面软件,最省事的做法是在一台海外云服务器上用 Docker 跑 RustDesk Server OSS:两条 docker compose 命令拉起 hbbs(信令/ID 服务器)与 hbbr(中继服务器),把生成的公钥填进客户端,你的设备之间的连接就只经过自己的机器。整套服务对硬件要求极低,官方明确说"最低配的云服务器就够,树莓派也行",真正的瓶颈是公网带宽而不是 CPU 和内存。

RustDesk 是什么?一句话说清:它是一个开源的远程桌面软件,客户端覆盖 Windows / macOS / Linux / Android / iOS / Web,界面和操作习惯与 TeamViewer、向日葵高度相似,但服务端可以自己部署。客户端免费、服务端开源(AGPL-3.0),没有"商业用途检测",也没有"免费版每月连接时长上限"这类限制——因为它根本没有一个向厂商汇报使用量的中心节点,那个中心节点就是你的服务器。

它和商业软件的差别不在功能表,而在计价模型:商业远程桌面按"用途"和"并发数"收钱,你用得越多越容易被判定为需要付费;自建方案是一次性的服务器投入 + 固定的月费,设备数不限、连接时长不限、并发只受你自己的带宽约束。对于一个人要管家里三台电脑、公司五台机器、再加上几台客户设备的场景,这个差别每个月都在放大。

本文给出可直接复制执行的完整命令,Ubuntu 22.04 与 CentOS 7 双系统覆盖,从买服务器、装 Docker、写 compose 文件、放行端口,到取出公钥、客户端接入、强制加密、中继限速、备份升级一路走通,并附服务器配置推荐表、服务商价格表和 8 条常见问题。

> 🚀 还没有海外云服务器?通过 5.chengzicloud.cloud 选购阿里云/AWS/腾讯云国际版,享专属折扣和中文技术支持。

一、为什么用海外云服务器自建远程桌面,而不是继续用商业软件

理由一:商业远程桌面的"免费"是有条件的,条件还经常变。 TeamViewer 会根据会话特征判定"疑似商业用途",一旦判定就限制会话时长,申诉流程繁琐;向日葵、ToDesk 的免费版对设备数、并发数、画质和文件传输都有档位限制,要用高清和无人值守就得升级会员。这些限制的用户协议是单方面可调整的——你今天能用的功能,明年可能就进了付费档。

理由二:自建方案没有"按人头、按并发"这一层计价。 一台 1核 2G 的海外云服务器月费通常在 5~12 美元区间,你连多少台设备、开多少路并发、传多少文件,都不会额外收费。唯一会涨的是中继流量(服务器帮你转发画面数据),而只要两台设备之间能打洞成功直连,中继流量就是零。

理由三:数据链路掌握在自己手里。 商业远程桌面在架构上是"客户端 → 厂商服务器 → 客户端",画面流和文件流都要过第三方。自建 RustDesk 之后,链路变成"客户端 → 你的服务器 → 客户端",而且默认使用端到端加密,服务器只负责牵线和中继,你甚至可以开启强制加密,让服务器无法解密内容

理由四:海外服务器没有备案和带宽包月的双重束缚。 自建远程桌面需要一个公网 IP 和几个固定端口长期在线,海外服务器免备案、带宽/流量计价灵活、随时可以换 IP 重装,比国内机器更适合做这种"长期挂着的入口服务"。

它不划算的场景也要说清楚:如果你一年只用远程桌面三五次,或者只连一台家里的电脑,商业软件的免费档完全够用,自建反而多了维护成本。自建的性价比拐点大约在"3 台以上设备、每周都用、且希望长期稳定可控"——超过这个量,自建几乎总是更省。

二、服务器配置推荐与价格对比

2.1 配置档位表(按并发与中继流量选)

RustDesk 官方对硬件的要求低到反常:CPU、内存要求都极小,1核1G 都能跑。真正的瓶颈是公网带宽——如果设备之间打洞失败,所有画面都要经过你的服务器转发。所以选型时看带宽和流量,不要看核心数。

| 档位 | 推荐配置 | 适合规模 | 带宽建议 | 月费参考 | |------|---------|---------|---------|---------| | 个人体验 | 1核1G | 3~5 台设备,偶尔远程 | 3~5 Mbps | 约 $3.5~6 | | 小团队主力 | 1核2G / 2核2G | 10~30 台设备,日常办公中继 | 5~10 Mbps | 约 $5~12 | | 进阶 | 2核4G | 50+ 台设备、高频 1080p 中继 | 20 Mbps 以上 | 约 $12~30 | | 按流量计费型 | 1核1G + 大流量包 | 中继偶发、单次时长短 | 不限带宽 | 约 $5~15 |

> 💡 一句话选型:先买 1核2G + 5Mbps 以上的机器试一个月,用本文第八节的命令看实际中继流量峰值,再决定要不要升档。绝大多数个人和小团队场景,1核2G 就是终点。

2.2 服务商价格对比表

| 服务商 | 月付 | 年付(折扣后) | 数据中心 | 优点 | |--------|------|--------------|---------|------| | 阿里云国际版 ECS | $4.2 | $3.2/月 | 新加坡/香港/硅谷 | 中文面板、支持支付宝 | | AWS Lightsail | $3.5 | $3.5/月 | 全球 20+ 区域 | 新用户免费套餐、生态完善 | | 腾讯云国际版 CVM | $4.5 | $3.5/月 | 香港/新加坡/东京 | 低延迟到国内、微信支付 | | Vultr | $6.0 | $6.0/月 | 全球 32 个 | 按小时计费、随时销毁 | | DigitalOcean | $6.0 | $6.0/月 | 全球 14 个 | 文档最完善、社区教程多 |

> 💡 新手建议:选阿里云国际版或腾讯云国际版香港节点,延迟低、有中文面板,通过 > 5.chengzicloud.cloud 购买还可享额外折扣。

> 🚀 通过 5.chengzicloud.cloud 购买以上平台均有额外折扣,点击首页查看最新优惠。

> 声明:本文价格数据采集于 2026 年 9 月,仅为公开官网参考区间,各平台活动价、新用户价与地域价差较大,请以选购当日官网与控制台结算页的实时价格为准。除特别标注外,金额单位均为美元(USD)。

2.3 中继流量到底会烧多少?先算这笔账

这是自建远程桌面唯一需要认真算的成本项。官方文档给出了中继连接的单路流量参考:

| 使用场景 | 单路流量参考 | 换算成小时 | 一小时消耗 | |---------|-------------|-----------|-----------| | 纯办公轻度使用 | 约 100 KB/s | 3600 秒 | 约 0.35 GB | | 1080p 常规操作 | 30 KB/s ~ 3 MB/s(随分辨率与画面刷新变化) | 3600 秒 | 0.1 GB ~ 10.8 GB | | 看视频/拖大文件 | 逼近 3 MB/s 上限 | 3600 秒 | 最高约 10.8 GB |

结论很直接:如果两台设备能打洞直连,中继流量是 0;一旦走中继,1080p 高频场景一小时就能烧掉 10GB。所以:

1. 优先让客户端走直连(默认就是直连优先,打洞失败才回退中继); 2. 服务器所在区域尽量靠近你常用设备,打洞成功率更高; 3. 按流量计费的机器上,务必按第八节配好 QoS 限速,防止单个连接把整月流量吃光。

三、先搞清架构:hbbs 和 hbbr 各干什么

RustDesk 服务端只有两个进程,理解它们的分工,后面所有配置就都顺了:

| 组件 | 角色 | 作用 | 关键端口 | |------|------|------|---------| | hbbs | ID / 信令服务器 | 设备注册、心跳、牵线搭桥(NAT 打洞) | 21115/TCP(NAT 类型测试)、21116/TCP + 21116/UDP(ID 注册与连接)、21118/TCP(Web 客户端) | | hbbr | 中继服务器 | 打洞失败时转发画面数据 | 21117/TCP(中继)、21119/TCP(Web 客户端) |

三个必须记住的细节:

1. 21116 必须同时放行 TCP 和 UDP。 UDP 负责 ID 注册与心跳,TCP 负责打洞与连接服务,只放行其中一个会出现"能上线但连不上"的怪现象。 2. 21118 / 21119 是 Web 客户端专用的 WebSocket 端口,默认不要开。 官方文档明确警告:hbbs/hbbr 会信任这两个端口进来的 X-Real-IP / X-Forwarded-For 头且不做校验,任何能直连这两个端口的人都能伪造 IP、绕过基于 IP 的限速与封禁、并污染日志。如果你不用 Web 客户端,就把它关着。 3. 21114 只有 Pro 版才有(Web 控制台),开源版根本没有这个端口,网上很多教程把 21114:21119/tcp 整段放行,属于抄错了。

另外:hbbshbbr 必须挂载同一个数据卷。官方提交记录里写得很明白——否则开启加密时两个进程会使用不同的密钥,直接导致连接失败。

四、第一步:系统初始化与安全基线

先更新系统、创建普通用户、关闭密码登录(可选但强烈建议)。

Ubuntu 22.04:

`bash // 更新系统 sudo apt update && sudo apt -y upgrade // 设置时区(按自己需要) sudo timedatectl set-timezone Asia/Shanghai // 关闭 swap 不是必须的,但保持足够内存余量 free -h `

CentOS 7:

`bash // 更新系统 sudo yum -y update // 安装常用工具 sudo yum -y install curl wget vim net-tools `

查看 glibc 版本,便于判断后续编译类操作是否可行(RustDesk 走容器运行,宿主机 glibc 基本不参与,但养成习惯):

`bash ldd --version | head -1 `

五、第二步:安装 Docker 与 Compose v2

Ubuntu 22.04 与 CentOS 7 都可以用官方一键脚本:

`bash // 安装 Docker(含 Compose 插件) curl -fsSL https://get.docker.com | sudo sh // 设置开机自启并立即启动 sudo systemctl enable --now docker // 验证 sudo docker version sudo docker compose version `

CentOS 7 上如果 docker compose version 报错(一键脚本安装的版本有时不带 Compose 插件),手动补一个:

`bash // 手动安装 Compose v2 插件 sudo mkdir -p /usr/local/lib/docker/cli-plugins sudo curl -SL "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" \ -o /usr/local/lib/docker/cli-plugins/docker-compose sudo chmod +x /usr/local/lib/docker/cli-plugins/docker-compose // 再次验证 docker compose version `

> ⚠️ 注意:现在只认 docker compose(无连字符),老教程里的 docker-compose v1 已被官方弃用,在 CentOS 7 上写 v1 语法会直接报错。

六、第三步:建目录并写 docker-compose.yml

`bash // 建工作目录 sudo mkdir -p /opt/rustdesk cd /opt/rustdesk `

新建 /opt/rustdesk/docker-compose.yml,内容如下(按官方推荐使用 network_mode: host,避免端口映射带来的真实 IP 丢失问题):

`yaml services: hbbs: container_name: hbbs image: rustdesk/rustdesk-server:latest command: hbbs environment: - RELAY=你的域名或IP:21117 - ENCRYPTED_ONLY=1 - ALWAYS_USE_RELAY=N volumes: - ./data:/root network_mode: "host" depends_on: - hbbr restart: unless-stopped

hbbr: container_name: hbbr image: rustdesk/rustdesk-server:latest command: hbbr environment: - ENCRYPTED_ONLY=1 - SINGLE_BANDWIDTH=128 - TOTAL_BANDWIDTH=1024 - LIMIT_SPEED=32 volumes: - ./data:/root network_mode: "host" depends_on: - hbbs restart: unless-stopped `

每个配置项的含义(YAML 里不能写注释,所以说明放这张表里):

| 配置项 | 作用 | 说明 | |--------|------|------| | RELAY | 告诉客户端中继服务器地址 | 换成你自己的域名或 IP,端口保持 21117 | | ENCRYPTED_ONLY=1 | 强制加密 | 给两个服务都加上密钥校验,禁止不加密的连接 | | ALWAYS_USE_RELAY | 是否强制走中继 | 默认 N(优先打洞直连)。设成 Y 会禁用直连,所有流量都过服务器 | | ./data:/root | 数据卷 | 两个容器必须用同一个目录,否则密钥不一致会连不上 | | SINGLE_BANDWIDTH | 单连接带宽上限 | 单位 Mb/s,默认 128 | | TOTAL_BANDWIDTH | 全中继总带宽上限 | 单位 Mb/s,默认 1024 | | LIMIT_SPEED | 降级后的限速值 | 单位 Mb/s,默认 32 | | network_mode: "host" | 主机网络 | Linux 专用,让服务看到真实客户端 IP |

> 🔴 重点:ALWAYS_USE_RELAY=N 是省钱的关键。很多人照抄教程设成 Y,结果所有远程画面都经过服务器转发,一个月把流量跑爆。只有当打洞长期失败(比如双方都在对称 NAT 后面)时才需要打开它。

七、第四步:放行防火墙端口

只放行真正需要的 4 个端口,不要照抄网上的 21114:21119/tcp 全段放行。

Ubuntu 22.04(ufw):

`bash sudo ufw allow 22/tcp sudo ufw allow 21115/tcp sudo ufw allow 21116/tcp sudo ufw allow 21116/udp sudo ufw allow 21117/tcp sudo ufw enable sudo ufw status `

CentOS 7(firewalld):

`bash sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --permanent --add-port=21115/tcp sudo firewall-cmd --permanent --add-port=21116/tcp sudo firewall-cmd --permanent --add-port=21116/udp sudo firewall-cmd --permanent --add-port=21117/tcp sudo firewall-cmd --reload sudo firewall-cmd --list-ports `

> ⚠️ 如果你的机器在云厂商的安全组/防火墙后面(阿里云、AWS、腾讯云都有),还要在云控制台的安全组里放行同样的端口——这是自建远程桌面最常见的"服务器配置全对但客户端连不上"的原因。安全组是云平台层的,ufw/firewalld 管不到它。

八、第五步:启动服务并取出公钥

`bash cd /opt/rustdesk // 拉镜像并后台启动 sudo docker compose up -d // 查看两个容器状态,应均为 Up sudo docker compose ps // 查看 hbbs 日志,确认生成了密钥 sudo docker compose logs hbbs | tail -20 `

确认端口已经在监听:

`bash sudo ss -tlnp | grep 2111 sudo ss -ulnp | grep 2111 `

取出客户端要填的公钥(这是整个部署最关键的一步):

`bash // 公钥文件就在数据目录里 ls -la /opt/rustdesk/data/ cat /opt/rustdesk/data/id_ed25519.pub `

如果没在数据目录里看到 .pub 文件,从容器里读:

`bash sudo docker exec hbbs cat /root/id_ed25519.pub `

输出的那一串 Base64 字符串就是客户端要填的 Key

> 🔴 重点:id_ed25519(私钥)和 id_ed25519.pub(公钥)必须一起备份。私钥丢失意味着所有已配置的客户端都必须重新填一次新公钥——因为服务器重启后如果数据卷为空,会重新生成一对全新密钥。

九、第六步:客户端接入与连接验证

在需要远程的每台设备上安装 RustDesk 客户端(官网下载 Windows / macOS / Linux / Android / iOS 版),然后在每一台设备上做同样的配置:

打开客户端 → 设置(Settings)→ 网络(Network)→ ID/中继服务器(ID/Relay Server),填入:

| 字段 | 填什么 | 说明 | |------|--------|------| | ID 服务器(ID Server) | 你的域名或服务器 IP | 保持默认端口 21116,无需写端口 | | 中继服务器(Relay Server) | 留空 | 服务端会自动下发,填了反而容易出错 | | API 服务器(API Server) | 留空 | 那是 Pro 版才用的字段 | | 密钥(Key) | 上一步取到的公钥 | 一字不差地粘贴 | | 控制端与受控端 | 两端都要配 | 只配一端会连接失败 |

配置完成后在首页看设备 ID 下方是否显示"就绪"(Ready)。验证方法:

1. 在 A 机输入 B 机的 ID,点击连接,输入 B 机的临时/固定密码; 2. 连接成功说明信令服务器(hbbs)正常; 3. 如果连接建立后画面卡顿或延迟明显,且服务器 docker compose logs hbbr 里能看到中继记录,说明走了中继;反之则是打洞直连。

在服务器上实时看中继流量,判断是否在烧流量:

`bash // 看 hbbr 的实时日志(有中继连接时会滚动) sudo docker compose logs -f hbbr // 看网卡实时流量(按 Ctrl+C 退出) sudo apt -y install iftop && sudo iftop -i eth0 `

十、第七步:安全加固清单

自建远程桌面的服务器是一个对公网开放的入口,必须按下面的清单过一遍:

1. 强制加密ENCRYPTED_ONLY=1(本文 compose 已配),并在客户端填好 Key。这个配置会让 hbbr 也启用密钥校验,禁止不带密钥的客户端使用中继。 2. 关闭 Web 客户端端口:不开 21118 / 21119。官方明确指出这两个端口的 X-Real-IP 头不做校验,可被伪造 IP 绕过封禁。 3. 不要放行 21114:这是 Pro 版 Web 控制台的端口,开源版没有。 4. 中继限速SINGLE_BANDWIDTH / TOTAL_BANDWIDTH / LIMIT_SPEED 三个值按需调小,防止单个连接吃满带宽。默认 128 / 1024 / 32 Mb/s 对大多数小机器偏宽松。 5. SSH 用密钥登录并改端口/etc/ssh/sshd_config 里设 PasswordAuthentication no,把这台机器当成关键基础设施对待。 6. 安装 fail2ban,至少为 sshd 配置 jail,挡住爆破。 7. 定期更新镜像docker compose pull && docker compose up -d,RustDesk 服务端更新频率不低。 8. 黑名单可疑 IPhbbr 支持 blacklist.txt(一行一个 IP),被列入的 IP 会被限速到 LIMIT_SPEED

进阶:如果你的场景确实需要 Web 客户端(比如用浏览器临时连一下),正确做法是不要直接开放 21118/21119,而是在前面放一层 Nginx 做 WSS 反向代理,由 Nginx 自己设置 X-Real-IP,防火墙只允许 Nginx 那一台机器连这两个端口。具体做法见下一节。

十一、进阶:Nginx 反代为 Web 客户端提供 WSS 入口

如果确实要用 RustDesk Web 客户端,可以用 Nginx 统一收口 443。核心原则是:WebSocket 端口只对本机 Nginx 开放,绝不直接暴露公网,由 Nginx 自己写 X-Real-IP 头。

Nginx 配置(配置文件格式不支持 # 注释,说明见下方文字):

`nginx server { listen 443 ssl http2; server_name rustdesk.example.com;

ssl_certificate /etc/letsencrypt/live/rustdesk.example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/rustdesk.example.com/privkey.pem;

location / { proxy_pass http://127.0.0.1:21118; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 3600s; proxy_send_timeout 3600s; } } `

要点说明:UpgradeConnection 两个头必须透传,否则 WebSocket 建不起来;proxy_read_timeout 要放大到 3600 秒,否则远程画面几分钟不操作就被断开;X-Real-IP 由 Nginx 设置,这样即使在代理后面也能保留真实客户端 IP。证书用 Let's Encrypt 申请,流程见延伸阅读里的 SSL 教程。

十二、第八步:备份、升级与日常运维

备份(把数据目录打包,含密钥与设备数据库):

`bash // 打包数据目录(含 id_ed25519 密钥对) sudo tar czf /root/rustdesk-data-$(date +%F).tar.gz -C /opt/rustdesk data // 建议再用 rclone 同步到对象存储做异地备份 ls -lh /root/rustdesk-data-*.tar.gz `

升级

`bash cd /opt/rustdesk sudo docker compose pull sudo docker compose up -d sudo docker compose ps `

查看运行的版本

`bash sudo docker exec hbbs hbbs --version || sudo docker inspect rustdesk/rustdesk-server:latest --format '{{.Id}}' | cut -c1-12 `

注意:不要手动写死版本号。官方镜像是 rustdesk/rustdesk-server:latest,直接 pull 即可;如果非要固定版本,建议在 compose 里改成具体 tag(例如本文核对时最新为 1.1.16),并在升级前先备份数据目录。

常见问题 FAQ

Q1:客户端连接时提示"未就绪 / 无法连接服务器"怎么办? 按这个顺序排查:一是两端客户端都要填 ID 服务器和 Key,只填一端是连不上的;二是确认云厂商安全组和系统防火墙都放行了 21116(TCP 和 UDP 都要);三是用 sudo ss -ulnp | grep 2111 确认 UDP 端口真的在监听;四是检查 Key 是不是完整复制,末尾多一个空格都会失败。

Q2:能连上但特别卡,是不是服务器配置太低? 多半不是。先看 docker compose logs hbbr,如果有中继记录说明走的是中转而不是直连。1080p 走中继时单路可能跑到 3 MB/s,这时候瓶颈是带宽而不是 CPU。解决办法有三:把服务器区域换到离你更近的地方提高打洞成功率、把客户端画质档位调低、或者对 SINGLE_BANDWIDTH 做限速。

Q3:服务器重启后所有客户端都连不上了,提示密钥不匹配? 说明数据卷丢了。hbbs 在启动时如果发现数据目录里没有密钥,会重新生成一对新密钥,旧公钥自然失效。检查 compose 里 hbbshbbr 是否都挂了 ./data:/root 且是同一个目录,然后用备份的 id_ed25519 / id_ed25519.pub 恢复,或者重新取公钥在每台客户端上更新一次。

Q4:为什么教程里说不能随便开 21118 / 21119? 因为官方文档明确警告:启用 Web 客户端后,hbbs/hbbr 会直接信任这两个端口进来的 X-Real-IP / X-Forwarded-For 头且不做任何校验,任何能直连这两个端口的人都可以伪造任意 IP,绕过基于 IP 的限速和封禁,并篡改日志里记录的真实 IP。正确做法是:不用 Web 客户端就关着;要用就只在 Nginx 反向代理后面开,由 Nginx 自己设置这些头。

Q5:CentOS 7 能装吗?会不会有 glibc 问题? 可以装,而且不会有 glibc 问题——RustDesk 服务端全程用 Docker 容器运行,宿主机只负责跑容器引擎,glibc 根本参与不到服务进程里。这与 code-server、Ollama 那类需要原生二进制的项目不同(它们在新版二进制上会报 GLIBC_2.xx not found)。CentOS 7 唯一要注意的是 Compose v2 插件需要手动补装(见第五节)。

Q6:会不会被判定为"商业用途"而收费? 不会。RustDesk 服务端是 AGPL-3.0 开源项目,客户端免费,官方没有任何"商业用途检测"机制,也没有按会话时长或并发数收费的档位。你唯一的成本是服务器本身的月费和流量费。要注意的是别把服务器暴露成"开放中继"给别人白用——务必开启 ENCRYPTED_ONLY=1 并配好密钥。

Q7:一台服务器能带多少台设备? 理论上没有设备数上限,实际受两个因素约束:并发中继连接数总带宽。1核2G + 5Mbps 的机器带 10~30 台设备、日常办公轻度使用没有问题;如果同时有十几路 1080p 中继,带宽会先于 CPU 被打满。先用第八节的命令测一周实际流量,再决定是否升档。

Q8:国内云服务器能搭吗? 技术上完全可以,RustDesk 对网络的要求并不高。但有三个现实问题:一是国内机器做远程桌面的公网入口通常涉及备案和用途说明;二是按固定带宽计费的模式下,中继场景的带宽费用可能高于海外按流量计费的方案;三是 Docker Hub 拉取镜像在国内网络下经常超时。海外服务器免备案、拉镜像顺畅、带宽/流量计价灵活,是自建这类入口服务更省事的选择。

> 🚀 还没有海外云服务器?通过 5.chengzicloud.cloud 选购阿里云/AWS/腾讯云国际版,享专属折扣和中文技术支持,今天就把自己的远程桌面服务器跑起来。

总结

用海外云服务器搭建 RustDesk 自建远程桌面,整条链路其实只有八件事:初始化系统与安全基线、装 Docker 与 Compose v2、规划数据目录并写 compose、放行 4 个端口(含云安全组)、启动服务并取出公钥、客户端两端填好 ID 服务器与 Key、做强制加密与中继限速、最后补上备份与升级。一台 1核2G 的海外 VPS、月费个位数美元,设备数不限、时长不限、并发只受自己带宽约束,就得到了一套完全属于自己的远程控制基础设施。

真正需要你留意的只有四件事:hbbs 和 hbbr 必须共用同一个数据卷、21116 要同时放行 TCP 和 UDP、不用 Web 客户端就别开 21118/21119、以及私钥一定要备份。其余都是复制粘贴的体力活。

从更大的角度看,自建远程桌面的价值不只是"省一份会员费",而是把你每天都要用、且直接接触敏感数据的那个入口搬到了自己的机器上:会话记录、设备清单、文件传输链路都不再经过任何第三方。这类"每天在用、又长期被商业软件锁着"的工具,正是自建方案最值得投入的地方。

延伸阅读: - Docker + Portainer 容器管理平台搭建完整教程 - Nginx反向代理+Let's Encrypt免费SSL证书配置完整教程 - 海外云服务器搭建WireGuard轻量VPN完整教程 - 海外云服务器搭建 frp 内网穿透完整教程 - 服务器备份与容灾完整教程:快照+Rclone异地+数据库定时备份

> 本文由 5.chengzicloud.cloud 提供,点击访问首页了解更多海外云服务器部署方案和专属优惠。