软件环境
- 服务器OS:Ubuntu 20.04 LTS
- RustDesk客户端:Windows,Android
- 以下教程均使用服务器默认提供的root用户,若遇到权限不足的情况,请自行加入
sudo
使用背景
我很早就开始用远程控制软件了,奈何先是Teamviwer,再后来是Todesk,都陆续强制登录才能使用了。后来了解到开源远程控制软件RustDesk,拥有多平台的客户端,PC,手机全部都有,关键是没有各种使用条件限制。当然开源软件用爱发电,不能像上述软件拥有众多服务器保证连接稳定,虽然rustdesk也有公用服务器,但是可能是使用人数太多,加上服务器在国外,使用效果差强人意,但是可以用自己搭建中继服务器才是RustDesk最大的特点,本文将使用Ubuntu 20.04 服务器系统搭建RustDesk-Server服务,实现设备远程控制自给自足。服务器搭建完成后实测使用稳定性良好,本教程制作仓促,可能有些地方描述有误,如有错误还请各位指出,后续也会继续完善。
本文实现方式特点:未使用官方推荐的pm2进程管理软件,使用nohup结合systemctl实现后台运行与开机自启动,使用最简单朴素的办法实现服务器的搭建,仅需安装一款解压软件unzip(有的系统也有自带),其余均为服务器自带,避免安装额外软件。
一、RustDesk-Server的下载与安装
1、获取Rustdesk-Server
服务器端软件下载链接:Releases · rustdesk/rustdesk-server (github.com)
2、选择所需版本
备注:当时截图的时候弄错版本了,下面的截图和命令都是基于i386
的安装包,也就是适配32位系统的。不过目前绝大多数的系统和机器都是64位的了,注意把i386
换成amd64
就行了
3、使用wget命令获取服务端软件
进入你想要存放程序文件的目录,我这里放在/home目录下
cd /home
获取文件
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.7-4/rustdesk-server-linux-i386.zip
4、解压文件
若服务器无unzip软件,请先安装unzip(常用的解压软件,以后也可能有用)
apt install unzip
使用unzip解压文件
unzip rustdesk-server-linux-i386.zip
改名
mv i386/ rustdesk
执行效果
经过以上步骤,RustDesk下载安装完成
二、RustDesk-Server的启动
1、创建启动脚本
在rustdesk目录下新建脚本文件,用于后台启动rustdesk
vi rustdesk-run.sh
加入以下内容
#!/bin/sh
workdir=$(dirname "$0")
cd $workdir
nohup $workdir/hbbs -k _ >> $workdir/nohup.out 2>&1 &
nohup $workdir/hbbr -k _ >> $workdir/nohup.out 2>&1 &
exit 0
脚本文件修改完成后不要忘了加入可执行权限
chmod +x /home/rustdesk/rustdesk-run.sh
以上步骤执行效果(图里文件内容有修改,以上面所述内容为准)
2、设置脚本自启动
在/etc/systemd/system/
路径下创建自启动service文件
vi /etc/systemd/system/rustdesk-autostart.service
在文件中添加以下内容(同样注意修改脚本文件所在路径),编辑完后保存退出
[Unit]
Description=rustdesk-autostart Server
After=network-online.target
[Service]
Type=simple
ExecStart=/home/rustdesk/rustdesk-run.sh
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
执行效果
接下来开启服务开机自启动
systemctl enable rustdesk-autostart.service
最后执行以下命令开启服务,后续如果重新启动系统将会完成自启动,无需手动开启服务
systemctl daemon-reload
systemctl start rustdesk-autostart.service
检验程序是否启动吗,如果看到进程中有hbbs和hbbr进程则代表启动成功
ps -ef | grep hbb
三、设置防火墙
程序默认使用端口21115-21119/tcp,8000/tcp,21116/udp,需在防火墙中放行以上端口
ufw allow 21115:21119/tcp
ufw allow 8000/tcp
ufw allow 21116/udp
ufw enable
补充:本教程在软件设置方面均值用默认值,不修改任何端口;在使用客户端连接时则直接使用服务器ip连接,同样无需设置端口号
四、客户端连接测试
使用windows与Android客户端测试连接
1、windows客户端设置
在菜单中选择ID/中继服务器
在弹出的菜单中填入相应信息,其中ID服务器和中继服务器均填写你服务器的公网IP(这里不要抄我填的,填你自己服务器的公网IP),第四栏的key在服务端软件的存放目录,程序启动成功后会在目录中自动生成密钥文件id_ed25519
和id_ed25519.pub
,使用cat命令可查看密钥内容,将id_ed25519.pub
(注意后缀,不要看错文件了)中的内容复制到第四栏key填入即可(不填也可,不填默认不开启加密传输,可以正常使用,但不建议)
cat id_ed25519.pub
2、Android客户端设置
打开软件,设置ID/中继服务器
和windows客户端一样,填入同样的信息即可
参考链接:官方文档
转载请注明出处