远程桌面基于公网服务器方案

远程桌面基于公网服务器方案:

1、RustDesk 自建中继(hbbs + hbbr)官方手动部署教程(适合长期维护,100%基于 RustDesk 官方 release,不依赖第三方脚本)

教程分成:服务器端(云服务器)、客户端(家里 Arch / Windows )、控制端(手机 / 电脑) 三个部分,逐步解释每一步干了什么

我这里使用的是阿里云ECS云服务、ubuntu 24.04系统

第一步:基本配置

连接服务器

1
ssh root@<你的服务器公网ip>

更新系统Ubuntu/Debian

1
apt update && apt upgrade -y

[!IMPORTANT]

如果是 CentOS/RHEL: yum update -y

如果是 Arch: pacman -Syu

配置网络安全组:

协议 端口范围 来源 说明
TCP 21115-21119 0.0.0.0/0 RustDesk 信令/中继
UDP 21116 0.0.0.0/0 RustDesk 中继

在阿里云实例中分别新建 5 条 TCP 规则

  • TCP 21115
  • TCP 21116
  • TCP 21117
  • TCP 21118
  • TCP 21119

以及 1 条 UDP 规则

  • UDP 21116

[!NOTE]

阿里云这里每次只能填入一个端口,所以需要重复五次以下的TCP操作

协议类型:自定义TCP(需要稍微鼠标往上滑动可以看到)

描述:自定义,写什么都行

[!NOTE]

UDP跟上面一样,只不过是自定义UDP

第二步:服务器端安装RustDesk

RustDesk 官方 server 包含两个组件:

  • hbbs:信令服务器(设备发现、ID 分配)
  • hbbr:中继服务器(打洞失败时转发流量)

我们放在 /opt/

1
cd /opt/rustdesk

下载官方 release

1
https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-linux-amd64.zip

解压并设置权限

1
unzip rustdesk-server-linux-amd64.zip

重命名(可跳过)

1
mv /opt/rustdesk-server /opt/rustdes

/opt/rustdesk 里会有三个文件:

  • /opt/rustdesk/hbbs
  • /opt/rustdesk/hbbr
  • /opt/rustdesk/rustdesk-utils
第三步:配置 systemd 服务(保证开机自启)

1、创建 hbbs 服务

1
vim /etc/systemd/system/rustdesk-hbbs.service
1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=RustDesk Server - hbbs (signal)
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk
ExecStart=/opt/rustdesk/hbbs -r <你的服务器IP>:21117
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

2、创建 hbbr 服务

1
vim /etc/systemd/system/rustdesk-hbbr.service
1
2
3
4
5
6
7
8
9
10
11
12
13
[Unit]
Description=RustDesk Server - hbbr (relay)
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk
ExecStart=/opt/rustdesk/hbbr
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

[!IMPORTANT]

-r <你的服务器IP>:21117 是告诉 hbbs 它的公网地址

如果你有域名,可以写 -r yourdomain.com:21117

(可选)启用安全 key

你可以用 -k 参数给 hbbs 增加一个秘钥,客户端必须填相同 key 才能连

1
vim /etc/systemd/system/rustdesk-hbbs.service
1
ExecStart=/opt/rustdesk-server/hbbs -r <你的服务器IP>:21117 -k huishao

[!IMPORTANT]

huishao:这里就是你自定义的密钥,可以是几十个字符都行,推荐 16 位以上,包含大小写、数字、符号更佳

也可以不带-k,默认这样子:

1
ExecStart=/opt/rustdesk-server/hbbs -r <你的服务器IP>:21117

再启动服务时hbbs会自己生成密钥

启动并开机自启

1
systemctl daemon-reload
1
systemctl enable --now rustdesk-hbbs rustdesk-hbbr
1
2
3
# 查看运行情况
systemctl status rustdesk-hbbs
systemctl status rustdesk-hbbr
第四步:配置防火墙和密钥

[!IMPORTANT]

如果被控制端有防火墙需要通过以上设置的5个TCP端口一个UDP端口

如果没有配置防火墙可跳过配置,如果当时有加-k并自己设置了密钥可进行第五步,如果模式需要进行密钥查看

  • TCP 21115-21119
  • UDP 21116

Ubuntu/Debian (ufw):

1
2
3
4
ufw allow 21115:21119/tcp
ufw allow 21116/udp
ufw reload
ufw status

CentOS (firewalld):

1
2
3
firewall-cmd --permanent --add-port=21115-21119/tcp
firewall-cmd --permanent --add-port=21116/udp
firewall-cmd --reload

进入服务器端/opt/rustdesk目录下

1
ls

可以看到一堆文件,其中id_ed25519是私钥,id_ed25519.pub是公钥(需要)

1
2
3
cat id_ed25519.pub
或者:
vim id_ed25519.pub

会出现一堆字母数字符号组成的字符,复制留着下面要用

第五步:被控端(家里 Arch、Windows 桌面)

安装 RustDesk

Arch Linux:

1
yay -S rustdesk-bin

Ubuntu/Debian:

1
wget https://github.com/rustdesk/rustdesk/releases/download/1.4.2/rustdesk-1.4.2-x86_64.deb
1
sudo dpkg -i rustdesk-1.4.2-x86_64.deb

通用appimage程序:

1
wget https://github.com/rustdesk/rustdesk/releases/download/1.4.2/rustdesk-1.4.2-x86_64.AppImage
1
sudo chmod +x rustdesk-1.4.2-x86_64.AppImage
1
./rustdesk-1.4.2-x86_64.AppImage

Windows:

1
https://github.com/rustdesk/rustdesk/releases/download/1.4.2/rustdesk-1.4.2-x86_64.exe

[!IMPORTANT]

1
https://github.com/rustdesk/rustdesk/releases

根据自己需要的版本下载

打开 RustDesk → 设置 → 网络

  • ID 服务器:填你的服务器 IP
  • 中继服务器:填你的服务器 IP(或者域名)
  • API 服务器:留空
  • Key:如果你在服务器启用了 -k,就输入你自己自定义的密钥,如果默认没加 -k 就是刚刚在id_ed25519.pub复制留着的一段字符

设置固定密码(无人值守)

RustDesk 设置 → 安全 → 固定密码。这样即使你不在家,电脑重启后也能连上

安卓(控制端)

  • Windows / macOS / Linux / Android / iOS 都有 RustDesk 客户端
  • 打开 → 设置 → 网络 → 填入你自建的 ID/中继服务器地址 + Key
  • 在主界面输入家里电脑的 ID(RustDesk 客户端界面会显示)
  • 输入密码 → 远程桌面就能用了
第六步:安全建议
  • 不要用随机密码,换成固定密码/公钥认证

  • 开启 -k Key 限制,避免别人乱用你的中继

  • 如果云服务器支持防火墙,限制 21115-21119 端口只允许你的 IP 段访问(可选)

  • 定期更新 RustDesk Server:

    1
    2
    3
    cd /opt/rustdesk
    wget GitHub的最新链接,解压覆盖即可
    systemctl restart rustdesk-hbbs rustdesk-hbbr

到这里,你就有一个完全基于 RustDesk 官方 release 的 手动安装、自建中继的远程桌面的软件了


远程桌面基于公网服务器方案
http://huishao.net/2025/09/21/远程桌面控制方案/
作者
huishao
发布于
2025年9月21日
许可协议