引言

之前一直用的是Teamviewer的个人免费版,但是最近对于免费账户设备数量的限制越来越严,只能更改一次,账号注销后手机号还有冷却期,不能马上注册新账号 最近在逛大佬的博客,偶见看到了RustDesk这个项目,使用下来确实不错,写一篇博客记录一下搭建过程

搭建

创建新用户

新建用户

useradd -m rustdesk

创建密码

passwd rustdesk

登录rustdesk账户

su - rustdesk

创建文件夹

mkdir rustdesk
cd rustdesk

服务器端

GitHub Release下载 文件名类似于 rustdesk-server-linux-amd64.zip 不要下错了 用wget或者xshell上传都行,然后解压 我是在本地解压好之后将 hbbrhbbs 用xshell上传的

hbbs

赋予可执行权限

chmod +x hbbs

先运行一次./hbbs,生成用于客户端认证使用的公钥id_ed25519.pub 随后用cat id_ed25519.pub命令查看公钥并记下,以=结尾,包含= 强制校验密钥以-k _参数

hbbr

赋予可执行权限

chmod +x hbbr

配置Service服务

输入exit回到root用户

输入

vim /etc/systemd/system/hbbs.service

i,将如下内容复制进文件

[Unit]
Description=Rust Desk Service
After=network.target
 
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
WorkingDirectory=/home/rustdesk/rustdesk
#-r用于指定网卡IP(适用多网卡),-k参数用于强制校验客户端公钥,用于避免未授权的使用
ExecStart=/home/rustdesk/rustdesk/hbbs -r 0.0.0.0 -p 21116 -k _

[Install]
WantedBy=multi-user.target

完成后按esc,输入:wq保存并退出

同样的输入

vim /etc/systemd/system/hbbr.service

将如下内容填入

[Unit]
Description=Rust Desk Service
After=network.target
 
[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
WorkingDirectory=/home/rustdesk/rustdesk
#-k参数用于强制校验客户端公钥,用于避免未授权的使用
ExecStart=/home/rustdesk/rustdesk/hbbr -p 21117 -k _
 
[Install]
WantedBy=multi-user.target

重载服务

systemctl reload

启用服务

systemctl start hbbs
systemctl start hbbr

查看服务状态

systemctl status hbbs
systemctl status hbbr

如果均为Active则启动成功

放行端口

放行后记得在服务商的防火墙策略组里放行

#Debian/Ubuntu ufw
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21116/udp
ufw allow 21117/tcp

客户端

下载

配置中继服务器 rustdesk_1.jpg

key就是cat id_ed25519.pub得到的密钥 ID服务器和中继服务器只需填写IP,端口RustDesk会自动推导(如果没有特别设定) 注:中继服务器按官方文档的说法也无需填写,但在我的使用中,如果不填写,安卓无法远控PC,提示是无法找到中继服务器

rustdesk_2.jpg

参考: RustDesk文档 【RustDesk】自建远程桌面服务替代TeamViewer/Todesk

ねぇ,あなたは何色になりたい