【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

06-01 1028阅读

目录

  • 前期需要准备的设备
  • 第一步:在云服务器(Ubutun)上配置你的RustDesk Serve
    • 1. 通过控制端或者windows自带的powershell
    • 2.开放Rust Desk需要使用的端口
    • 3.下载配置RustDesk的插件
    • 4.下载RustDesk-Serve
    • 配置RuskDesk客户端
      • 下载RuskDesk客户端
      • 配置RustDesk 客户端
      • 在移动端上配置RustDesk

        突然想到是否能用随身携带的笔记本远程控制家里的电脑。于是,我上网搜索了一番,发现了一个名为RustDesk的软件可以实现这一功能。

        这里需要解释一下为什么需要使用公网IP。我们的家用宽带通常是运营商分配的一个公网IP下的子IP,即内网IP。这意味着,我们和其他使用同一个公网IP的用户实际上是在一个局域网内。在局域网内,我们可以使用Windows自带的远程访问软件轻松实现两台电脑之间的远程访问,比如同时连接到一个WiFi的两台电脑。

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)win11 可能搜不到远程访问的应用, 需要从Microsoft Store里下一个远程桌面(如果显示应用不可用,去设置里把地区改成新加坡, 很多应用锁国区)

        然而,要实现从公司到家里的远程访问,就需要一个公网IP,或者通过一些技术手段(如端口转发)将内网设备映射到公网上。正是基于这样的需求,我选择了RustDesk这款软件,并成功实现了远程访问功能。

        前期需要准备的设备

        1. 一台带有公网IP的云服务器(阿里云,华为云,百度云…)
        2. 一台被控终端(家里的主机)
        3. 一台控制终端(带到公司的笔记本)

        第一步:在云服务器(Ubutun)上配置你的RustDesk Serve

        这里解释一个为什么我使用linux系统而不是windows系统作为服务器的操作系统,主要有两点原因:

        1. 云服务器的配置一般都不是很高(有配置好的,但是也贵啊),使用不带GUI的linux系统可以减少图形化界面对于内存和cpu的占用,使得服务器运行更流畅
        2. 也是借此机会联系一下linux系统的操作

        如果又不适应的同学可以自行搜索RustDesk sever在windows系统上的配置方式. 接下来我们就来一步一步展示如何配置我们的中继服务器,

        1. 通过控制端或者windows自带的powershell

        如果用powershell登录服务器就执行下面的命令

        ssh root@你的服务器公网ip
        

        这里输入yes, 如果服务器设置了密码接下来还会要求你输入密码

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        或者通过云服务器运营商提供的CloudShell登录(我使用的是华为云【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        2.开放Rust Desk需要使用的端口

        非专业版RustDesk需要使用到以下端口:

        TCP: 21115, 21116, 21117, 21118, 21119

        UDP: 21116

        云服务器上的端口一般需要我们手动开放, 这里介绍两种开放模式:

        1. 通过华为云管理平台设置

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        按照要求把上述端口全部开放,记得优先级哪里选1

        1. 通过Shell执行以下指令开放端口
        ufw allow 22/tcp #(华为云貌似也需要手动开一下22号端口)
        ufw allow 21115/tcp
        ufw allow 21116/tcp
        ufw allow 21116/udp
        ufw allow 21117/tcp
        ufw enable
        

        3.下载配置RustDesk的插件

        笔者通过一下午的学习了解到RustDesk提供多种安装方式,这里列举两种比较适合小白的傻瓜方式,笔者用的是第二种pm2的模式

        首先,如果你的服务器是新的,你首先要更新一下apt

        apt-get update
        
        1. 使用 Docker 部署

        首先安装Docker

        # 使用清华源,如果是国外云服务器可以不运行这一步
        export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
        # 安装命令
        curl -fsSL https://get.docker.com/ | sh
        

        检查是否安装完毕,如果有正确输出版本 ,那么就Docker代表安装成功了。

        root@ubuntu:~# docker -v
        Docker version 27.1.1, build 6312585
        

        运行命令

        mkdir -p ~/rustdesk
        cd ~/rustdesk
        sudo docker image pull rustdesk/rustdesk-server
        sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbs
        sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v ./data:/root -td --net=host rustdesk/rustdesk-server hbbr
        

        注意

        如果你运行 docker 版本时候,要求注册码,说明你下载的是老版本,因为国内的 docker 镜像缓存可能没有更新

        检查是否正常运行

        控制台输入 docker ps -a,查看STATUS 状态是否是 Up

        root@ubuntu:~/rustdesk# docker ps -a
        CONTAINER ID   IMAGE                      COMMAND   CREATED          STATUS          PORTS     NAMES
        97e8dfc8939e   rustdesk/rustdesk-server   "hbbr"    44 seconds ago   Up 43 seconds             hbbr
        64e629c8a41d   rustdesk/rustdesk-server   "hbbs"    49 seconds ago   Up 48 seconds      
        

        运行好后,可以在当前目录下列出文件,输入ls -l data

        root@ubuntu:~/rustdesk# ls -l data
        total 132
        -rw-r--r-- 1 root root  4096 Oct 26 15:25 db_v2.sqlite3
        -rw-r--r-- 1 root root 32768 Oct 26 15:25 db_v2.sqlite3-shm
        -rw-r--r-- 1 root root 82432 Oct 26 15:25 db_v2.sqlite3-wal
        -rw-r--r-- 1 root root    88 Oct 26 15:25 id_ed25519
        -rw-r--r-- 1 root root    44 Oct 26 15:25 id_ed25519.pub
        

        最后一个文件id_ed25519.pub我们在配置客户端的时候会用到,里面保存的是我们服务器的Key

        1. 使用 PM2 部署

        使用PM2安装的步骤相对复杂一点,需要我们现在服务器里装一个NodeJS环境

        # 更新软件包列表
        sudo apt update
        # 安装 Node.js 和 npm
        sudo apt install nodejs npm -y
        # 验证安装是否成功
        node -v
        npm -v
        

        如果回复如下就代表成功

        root@hcss-ecs-124d:~# node -v
        v12.22.9
        root@hcss-ecs-124d:~# npm -v
        8.5.1
        

        安装 PM2

        npm i -g pm2
        

        检验PM2是否安装成功

        root@hcss-ecs-124d:~# pm2 -v
        5.4.3
        

        4.下载RustDesk-Serve

        点击下面的连接进入RustDesk Sever的Github主页

        RustDesk Serve - Github

        右键点击zip的安装包,选择复制连接

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        回到shell里 输入命令 wget 你刚刚复制的连接

        wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-linux-amd64.zip
        

        下载zip并解压安装包

        apt-get install zip
        unzip rustdesk-server-linux-amd64.zip
        

        找到自己服务器匹配的架构,一般市面上的云服务器都是amd64架构的,跟我一样的命令即可

        cd amd64
        ls -l
        

        如果成功的话,你会在amd64文件夹里看到hbbr, hbbs, id_ed25519, id_25519.pub 和 rustdesk-ut 这五个文件.恭喜你,这个时候就代表你的RustDesk安装成功了

        -rw-r--r-- 1 root root     4096 Dec 21 15:29 db_v2.sqlite3
        -rw-r--r-- 1 root root    32768 Dec 21 15:32 db_v2.sqlite3-shm
        -rw-r--r-- 1 root root    82432 Dec 21 15:32 db_v2.sqlite3-wal
        -rwxr-xr-x 1 root root  9194392 Oct  7 16:37 hbbr
        -rwxr-xr-x 1 root root 14290448 Oct  7 16:37 hbbs
        -rw-r--r-- 1 root root       88 Dec 21 15:29 id_ed25519
        -rw-r--r-- 1 root root       44 Dec 21 15:29 id_ed25519.pub
        -rwxr-xr-x 1 root root  4734920 Oct  7 16:37 rustdesk-ut
        

        接下来通过PM2启动 hbbr 和 hbbs

        pm2 start hbbs
        pm2 start hbbr
        

        如果一切正常你会看到以下结果

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        这个时候我们的RustDesk Sever就算配置好了,接下来就是配置我们的客户端了.

        配置RuskDesk客户端

        下载RuskDesk客户端

        RustDesk官网

        点击进入,下载window版本的客户端并安装,成功后应该是如下界面

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        配置RustDesk 客户端

        点击左上角的设置 进入网络点击ID/中继服务器【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        在IP一栏输入你的服务的公网IP,记住是公网IP!

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        还记的我们之前说的id_ed25519.pub里存着我们RustDesk的key么,这时候就用上了, 回到amd64的目录下,执行以下命令

        cat id_ed25519.pub
        

        你就回获得一个Key(通常是以=结尾的),将这个key复制到客户端的Key一栏,然后重启客户端, 当你看到客户端下面是显示就绪的时候,恭喜,你的远程访问功能已然实现【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        在你的受控终端和控制终端同时按照上诉步骤配置好客户端,在控制终端里输入受控客户端左面的ID,就可以实现远程访问了(受控终端和控制终端是可以相互转换的,取决于在那台设备上输入对方的ID) 如果访问受控终端无法获取一次性密码,也可以在设置里设置一个固定密码.

        【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        以下是访问成功的展示【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        在移动端上配置RustDesk

        刚刚发现RustDesk还有android端, 于是在手机上下载了一个,配置方式和在windows上一样,不过操作起来实在是费劲,只能说是个鸡肋把,在平板上可能效果会好一点,

        ![请添加图片描述](https://i-blog.csdnimg.cn/direct/d683fb9bd5c94e7888f7c1b5aec72d69.jpeg【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)

        创作不易,看完麻烦点个赞~

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码