RustDesk服务端ubuntu手动搭建记录
作者:mmseoamin日期:2023-12-18
软件环境
  • 服务器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

    RustDesk官网

    服务器端软件下载链接:Releases · rustdesk/rustdesk-server (github.com)

    2、选择所需版本

    备注:当时截图的时候弄错版本了,下面的截图和命令都是基于i386的安装包,也就是适配32位系统的。不过目前绝大多数的系统和机器都是64位的了,注意把i386换成amd64就行了

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第1张

    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服务端ubuntu手动搭建记录,请添加图片描述,第2张

    经过以上步骤,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
    
    以上步骤执行效果(图里文件内容有修改,以上面所述内容为准)

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第3张

    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
    

    执行效果

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第4张

    接下来开启服务开机自启动

    systemctl enable rustdesk-autostart.service
    

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第5张

    最后执行以下命令开启服务,后续如果重新启动系统将会完成自启动,无需手动开启服务

    systemctl daemon-reload
    systemctl start rustdesk-autostart.servicesystemctl
    

    检验程序是否启动吗,如果看到进程中有hbbs和hbbr进程则代表启动成功

    ps -ef | grep hbb
    

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第6张

    三、设置防火墙

    程序默认使用端口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/中继服务器

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第7张

    在弹出的菜单中填入相应信息,其中ID服务器和中继服务器均填写你服务器的公网IP(这里不要抄我填的,填你自己服务器的公网IP),第四栏的key在服务端软件的存放目录,程序启动成功后会在目录中自动生成密钥文件id_ed25519和id_ed25519.pub,使用cat命令可查看密钥内容,将id_ed25519.pub(注意后缀,不要看错文件了)中的内容复制到第四栏key填入即可(不填也可,不填默认不开启加密传输,可以正常使用,但不建议)

    cat id_ed25519.pub
    

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第8张

    2、Android客户端设置

    打开软件,设置ID/中继服务器

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第9张

    和windows客户端一样,填入同样的信息即可

    RustDesk服务端ubuntu手动搭建记录,请添加图片描述,第10张

    参考链接:官方文档

    转载请注明出处