将 Rustdesk 中继服务从 Arch Linux 迁移至 Debian
本文最后更新于:2024年9月20日 凌晨
这次迁移主要是两方面原因,一来是我安装了 Arch Linux 的 VPS 要过期了,续费价格过高,没有续费的动力;二来是手上的 VPS 越来越多,逐渐意识到 Arch Linux 作为滚动发行版,每次安装新的软件都要 Syu 甚至重启系统,实在没有太多的精力去维护,这也是为什么 Arch Linux 仅适合桌面发行版。
原本在 Arch Linux 上部署的 rustdesk server 我是按照这篇文章「(水文)在archlinux上部署rustdesk服务端」部署的。本身没什么技巧,直接从 AUR 安装现成的 rustdesk-server-bin,使用 systemctl 启用 rustdesk-server-hbbr.service
和 rustdesk-server-hbbs.service
两个服务即可。
Rustdesk 现在为 Debian 提供了官方的中继服务器的 deb 包,而谷歌搜了一圈都是下载 zip 包使用 pm2 管理进程,故写下此文。
备份原服务器的 rustdesk 密钥
AUR 上的安装方案将密钥放在 /opt/rustdesk-server/data
直接用 sftp 获取 id_ed25519
和 id_ed25519.pub
两个文件就行。如果是新部署的没有这两个文件也没事,rustdesk 服务在启动时可以自动创建,只不过需要在客户端重新输入公钥。
1 |
|
在新服务器上下载 deb 包,进行安装
1 |
|
简单写了个脚本,仅适用 amd64,也没做异常处理,如果服务器在大陆境内需要自行解决 github 下载时可能出现的网络波动问题。
dpkg 安装结束后默认会启用两个 systemd 服务并开机自启,所以不需要使用 systemctl 手动启用。
替换密钥
将刚刚备份的一个公钥和一个私钥放在 Debian 服务器的相应路径,问题是这个路径在哪里呢?
通过翻看 rustdesk 的 service 文件,我们大概可以定位到是在 /var/lib/rustdesk-server/
路径下的
直接对两个密钥文件进行替换,重启 rustdesk 相关的两个 service 服务即可。
开放服务器防火墙
需要开放如下端口,记得 Linux 的防火墙和云服务供应商面板(如果有的话)上都要开放
- TCP(21115, 21116, 21117, 21118, 21119)
- UDP(21116)
客户端设置
id_ed25519.pub 对应客户端中需要输入的 Key,大概长成下面这个样子
1 |
|
ID 服务器直接输入中继服务器的 ip 或者解析到对应 ip 的域名即可,另外两个地址可以不填,RustDesk会自动推导(如果没有特别设定)