云计算百科
云计算领域专业知识百科平台

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

目录

  • 前期需要准备的设备
  • 第一步:在云服务器(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的两台电脑。

Altwin11 可能搜不到远程访问的应用, 需要从Microsoft Store里下一个远程桌面(如果显示应用不可用,去设置里把地区改成新加坡, 很多应用锁国区)

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

前期需要准备的设备

  • 一台带有公网IP的云服务器(阿里云,华为云,百度云…)
  • 一台被控终端(家里的主机)
  • 一台控制终端(带到公司的笔记本)
  • 第一步:在云服务器(Ubutun)上配置你的RustDesk Serve

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

  • 云服务器的配置一般都不是很高(有配置好的,但是也贵啊),使用不带GUI的linux系统可以减少图形化界面对于内存和cpu的占用,使得服务器运行更流畅
  • 也是借此机会联系一下linux系统的操作
  • 如果又不适应的同学可以自行搜索RustDesk sever在windows系统上的配置方式. 接下来我们就来一步一步展示如何配置我们的中继服务器,

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

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

    ssh root@你的服务器公网ip

    这里输入yes, 如果服务器设置了密码接下来还会要求你输入密码 请添加图片描述

    或者通过云服务器运营商提供的CloudShell登录(我使用的是华为云请添加图片描述

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

    非专业版RustDesk需要使用到以下端口: TCP: 21115, 21116, 21117, 21118, 21119 UDP: 21116

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

  • 通过华为云管理平台设置
  • 请添加图片描述

    请添加图片描述 请添加图片描述 按照要求把上述端口全部开放,记得优先级哪里选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

  • 使用 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

  • 使用 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的安装包,选择复制连接 请添加图片描述 回到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

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

    请添加图片描述 这个时候我们的RustDesk Sever就算配置好了,接下来就是配置我们的客户端了.

    配置RuskDesk客户端

    下载RuskDesk客户端

    RustDesk官网 点击进入,下载window版本的客户端并安装,成功后应该是如下界面 请添加图片描述

    配置RustDesk 客户端

    点击左上角的设置 进入网络点击ID/中继服务器请添加图片描述 在IP一栏输入你的服务的公网IP,记住是公网IP! 请添加图片描述

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

    cat id_ed25519.pub

    你就回获得一个Key(通常是以=结尾的),将这个key复制到客户端的Key一栏,然后重启客户端, 当你看到客户端下面是显示就绪的时候,恭喜,你的远程访问功能已然实现请添加图片描述

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

    请添加图片描述

    以下是访问成功的展示请添加图片描述

    在移动端上配置RustDesk

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

    ![请添加图片描述](https://i-blog.csdnimg.cn/direct/d683fb9bd5c94e7888f7c1b5aec72d69.jpeg请添加图片描述

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

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服务器从而实现多终端远程桌面访问(小白向)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!