引言
之前一直用的是Teamviewer的个人免费版,但是最近对于免费账户设备数量的限制越来越严,只能更改一次,账号注销后手机号还有冷却期,不能马上注册新账号 最近在逛大佬的博客,偶见看到了RustDesk这个项目,使用下来确实不错,写一篇博客记录一下搭建过程
搭建
创建新用户
新建用户
代码语言:javascript复制useradd -m rustdesk
创建密码
代码语言:javascript复制passwd rustdesk
登录rustdesk账户
代码语言:javascript复制su - rustdesk
创建文件夹
代码语言:javascript复制mkdir rustdesk
cd rustdesk
服务器端
从GitHub Release下载
文件名类似于 rustdesk-server-linux-amd64.zip
不要下错了
用wget或者xshell上传都行,然后解压
我是在本地解压好之后将 hbbr
和 hbbs
用xshell上传的
hbbs
赋予可执行权限
代码语言:javascript复制chmod x hbbs
先运行一次./hbbs
,生成用于客户端认证使用的公钥id_ed25519.pub
随后用cat id_ed25519.pub
命令查看公钥并记下,以=
结尾,包含=
强制校验密钥以-k _参数
hbbr
赋予可执行权限
代码语言:javascript复制chmod x hbbr
配置Service服务
输入exit
回到root用户
输入
代码语言:javascript复制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
保存并退出
同样的输入
代码语言:javascript复制vim /etc/systemd/system/hbbr.service
将如下内容填入
代码语言:javascript复制[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
重载服务
代码语言:javascript复制systemctl reload
启用服务
代码语言:javascript复制systemctl start hbbs
systemctl start hbbr
查看服务状态
代码语言:javascript复制systemctl status hbbs
systemctl status hbbr
如果均为Active则启动成功
放行端口
放行后记得在服务商的防火墙策略组里放行
代码语言:javascript复制#Debian/Ubuntu ufw
ufw allow 21115/tcp
ufw allow 21116/tcp
ufw allow 21116/udp
ufw allow 21117/tcp
客户端
下载
配置中继服务器
key就是cat id_ed25519.pub
得到的密钥
ID服务器和中继服务器只需填写IP,端口RustDesk会自动推导(如果没有特别设定)
注:中继服务器按官方文档的说法也无需填写,但在我的使用中,如果不填写,安卓无法远控PC,提示是无法找到中继服务器
参考: RustDesk文档 【RustDesk】自建远程桌面服务替代TeamViewer/Todesk