🌊 第06章 · RustDesk 部署与客户端
服务端/客户端连线
RustDesk 部署与客户端¶
这一章把上一章的原理落到命令上:怎么在服务器装 hbbs/hbbr,怎么用 systemd 常驻,怎么配置客户端连上。本机就是用这套部署的(工作目录 /usr/local/rustdesk-server,systemd 托管)。
服务端部署步骤(以 Linux x86_64 为例)¶
1) 下载并解压 RustDesk 服务器组件
RustDesk 官方仓库提供 rustdesk-server 二进制。常见的 Linux 版本是 rustdesk-server-linux-amd64。
# 下载(版本号按实际替换)
cd /tmp
wget https://github.com/rustdesk/rustdesk-server/releases/download/<VERSION>/rustdesk-server-linux-amd64.zip
unzip rustdesk-server-linux-amd64.zip -d /usr/local/rustdesk-server
chmod +x /usr/local/rustdesk-server/hbbs /usr/local/rustdesk-server/hbbr
提示 | 也可从官方编译脚本装。重点是拿到
hbbs、hbbr两个可执行文件。
2) 首次运行生成密钥(客户端要用的 Key)
cd /usr/local/rustdesk-server
./hbbs -r <你的公网域名或IP> # -r 用于指定中继域名;首次运行会生成 rustdesk.key / .pub
# 生成了:
# rustdesk.key 私钥(留在服务器)
# rustdesk.key .pub 公钥(拷给客户端用)
注意 |
hbbs会输出一个KEY(即公钥),把它记下来,客户端配置时要用。私钥.key权限收紧chmod 600,别外泄。
3) 用 systemd 托管(本机已这样做)
/etc/systemd/system/rustdesk-hbbs.service:
[Unit]
Description=RustDesk ID/Rendezvous Server (hbbs)
After=network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/rustdesk-server
ExecStart=/usr/local/rustdesk-server/hbbs
Restart=always
RestartSec=5
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
/etc/systemd/system/rustdesk-hbbr.service:
[Unit]
Description=RustDesk Relay Server (hbbr)
After=network.target
[Service]
Type=simple
WorkingDirectory=/usr/local/rustdesk-server
ExecStart=/usr/local/rustdesk-server/hbbr
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
4) 启动与开机自启
sudo systemctl enable --now rustdesk-hbbs rustdesk-hbbr
sudo systemctl status rustdesk-hbbs rustdesk-hbbr
复习 | 关于
systemd unit(WorkingDirectory/Restart 等)详见《服务、定时任务与脚本 · 自定义 Unit》。
5) 放行端口(云安全组 + 本机防火墙)
必须放:
- 21115/tcp、21116/tcp、21116/udp(hbbs)
- 21117/tcp(hbbr)
- 可选 21118/21119(客户端 ID/中继,视版本)
sudo ufw allow 21115/tcp
sudo ufw allow 21116/tcp
sudo ufw allow 21116/udp
sudo ufw allow 21117/tcp
验证 |
ss -tlnp | grep 2111看监听;云安全组确认放行 21115-21117(如本机云防火墙放行 21115-21117)。注意客户端要想连入,服务器端 21116 UDP 必须通。
客户端配置(被控端/控制端都要)¶
- 打开 RustDesk 客户端 → 设置 → ID/中继服务器。
- 填:
- ID 服务器:
你的公网IP(或域名) - 中继服务器:你的公网IP:21117- Key(公钥): 服务端hbbs生成的.pub内容 - 保存。
关键 | Key 必须是服务端生成的公钥。填错 Key 会表现为"能识别 ID 但连不上"。
示例(客户端设置):
ID 服务器: 2.25.183.241
中继服务器: 2.25.183.241:21117
Key: 填入 hbbs 输出的 KEY
客户端如何用¶
- 两台设备都登录同一服务器(RustDesk 客户端设置里填好上面的 ID / 中继 / Key)。
- 被控端要"允许远程访问"/设置永久密码,控制端在地址栏输入被控端 ID。
- 状态:在客户端界面能看到是否连接上中继服务器(绿色=已连)。
排错速查¶
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 连不上/一直转 | 端口没放行,尤其 21116 UDP | 检查云安全组 + ufw;nc -zuv 测 21116 UDP |
| 能识别 ID 但连不上 | Key 填错/客户端没填 Key | 核对 .pub 公钥;服务端 ss 看监听 |
| 速度慢 | 走了中继而不是直连 | 检查 NAT 穿透(21116 UDP 必须通);优选直连 |
| hbbs 起不来 | 端口被占/缺依赖 | journalctl -u rustdesk-hbbs -n 30 看报错;systemctl status |
相关命令¶
systemctl status rustdesk-hbbs rustdesk-hbbrss -tlnp | grep 2111(确认监听)ls -l /usr/local/rustdesk-server/(看 key/pub 文件)journalctl -u rustdesk-hbbr -n 30