远程桌面基于公网服务器方案
远程桌面基于公网服务器方案:
1、RustDesk 自建中继(hbbs + hbbr)官方手动部署教程(适合长期维护,100%基于 RustDesk 官方 release,不依赖第三方脚本)
教程分成:服务器端(云服务器)、客户端(家里 Arch / Windows )、控制端(手机 / 电脑) 三个部分,逐步解释每一步干了什么
我这里使用的是阿里云ECS云服务、ubuntu 24.04系统
第一步:基本配置
连接服务器
1 |
|
更新系统Ubuntu/Debian
1 |
|
[!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 |
|
下载官方 release
1 |
|
解压并设置权限
1 |
|
重命名(可跳过)
1 |
|
/opt/rustdesk 里会有三个文件:
- /opt/rustdesk/hbbs
- /opt/rustdesk/hbbr
- /opt/rustdesk/rustdesk-utils
第三步:配置 systemd 服务(保证开机自启)
1、创建 hbbs 服务
1 |
|
1 |
|
2、创建 hbbr 服务
1 |
|
1 |
|
[!IMPORTANT]
-r <你的服务器IP>:21117 是告诉 hbbs 它的公网地址
如果你有域名,可以写 -r yourdomain.com:21117
(可选)启用安全 key
你可以用 -k 参数给 hbbs 增加一个秘钥,客户端必须填相同 key 才能连
1 |
|
1 |
|
[!IMPORTANT]
huishao:这里就是你自定义的密钥,可以是几十个字符都行,推荐 16 位以上,包含大小写、数字、符号更佳
也可以不带-k,默认这样子:
1
ExecStart=/opt/rustdesk-server/hbbs -r <你的服务器IP>:21117
再启动服务时hbbs会自己生成密钥
启动并开机自启
1 |
|
1 |
|
1 |
|
第四步:配置防火墙和密钥
[!IMPORTANT]
如果被控制端有防火墙需要通过以上设置的5个TCP端口和一个UDP端口
如果没有配置防火墙可跳过配置,如果当时有加-k并自己设置了密钥可进行第五步,如果模式需要进行密钥查看
- TCP 21115-21119
- UDP 21116
Ubuntu/Debian (ufw):
1 |
|
CentOS (firewalld):
1 |
|
进入服务器端/opt/rustdesk目录下
1 |
|
可以看到一堆文件,其中id_ed25519是私钥,id_ed25519.pub是公钥(需要)
1 |
|
会出现一堆字母数字符号组成的字符,复制留着下面要用
第五步:被控端(家里 Arch、Windows 桌面)
安装 RustDesk
Arch Linux:
1 |
|
Ubuntu/Debian:
1 |
|
1 |
|
通用appimage程序:
1 |
|
1 |
|
1 |
|
Windows:
1 |
|
[!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
3cd /opt/rustdesk
wget GitHub的最新链接,解压覆盖即可
systemctl restart rustdesk-hbbs rustdesk-hbbr
到这里,你就有一个完全基于 RustDesk 官方 release 的 手动安装、自建中继的远程桌面的软件了