【远程访问】如何利用带有公网IP的云服务器(Ubutun)自建Rust Desk中继服 ...

打印 上一主题 下一主题

主题 892|帖子 892|积分 2676

突然想到是否能用随身携带的笔记本远程控制家里的电脑。于是,我上网搜索了一番,发现了一个名为RustDesk的软件可以实现这一功能。
这里需要表明一下为什么需要使用公网IP。我们的家用宽带通常是运营商分配的一个公网IP下的子IP,即内网IP。这意味着,我们和其他使用同一个公网IP的用户现实上是在一个局域网内。在局域网内,我们可以使用Windows自带的远程访问软件轻松实现两台电脑之间的远程访问,比犹如时连接到一个WiFi的两台电脑。
win11 可能搜不到远程访问的应用, 需要从Microsoft Store里下一个远程桌面(如果显示应用不可用,去设置里把地区改成新加坡, 很多应用锁国区)
然而,要实现从公司到家里的远程访问,就需要一个公网IP,大概通过一些技术手段(如端口转发)将内网装备映射到公网上。正是基于这样的需求,我选择了RustDesk这款软件,并成功实现了远程访问功能。
前期需要预备的装备


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

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

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

如果用powershell登录服务器就执行下面的命令
  1. ssh root@你的服务器公网ip
复制代码
这里输入yes, 如果服务器设置了密码接下来还会要求你输入密码

大概通过云服务器运营商提供的CloudShell登录(我使用的是华为云

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

非专业版RustDesk需要使用到以下端口:
TCP: 21115, 21116, 21117, 21118, 21119
UDP: 21116
云服务器上的端口一样平常需要我们手动开放, 这里介绍两种开放模式:

  • 通过华为云管理平台设置



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

  • 通过Shell执行以下指令开放端口
  1. ufw allow 22/tcp #(华为云貌似也需要手动开一下22号端口)
  2. ufw allow 21115/tcp
  3. ufw allow 21116/tcp
  4. ufw allow 21116/udp
  5. ufw allow 21117/tcp
  6. ufw enable
复制代码
3.下载设置RustDesk的插件

笔者通过一下战书的学习了解到RustDesk提供多种安装方式,这里列举两种比力适合小白的傻瓜方式,笔者用的是第二种pm2的模式
首先,如果你的服务器是新的,你首先要更新一下apt
  1. apt-get update
复制代码

  • 使用 Docker 部署
首先安装Docker
  1. # 使用清华源,如果是国外云服务器可以不运行这一步
  2. export DOWNLOAD_URL="https://mirrors.tuna.tsinghua.edu.cn/docker-ce"
  3. # 安装命令
  4. curl -fsSL https://get.docker.com/ | sh
复制代码
查抄是否安装完毕,如果有精确输出版本 ,那么就Docker代表安装成功了。
  1. root@ubuntu:~# docker -v
  2. Docker version 27.1.1, build 6312585
复制代码
运行命令
  1. mkdir -p ~/rustdesk
  2. cd ~/rustdesk
  3. sudo docker image pull rustdesk/rustdesk-server
  4. 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
  5. 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
  1. root@ubuntu:~/rustdesk# docker ps -a
  2. CONTAINER ID   IMAGE                      COMMAND   CREATED          STATUS          PORTS     NAMES
  3. 97e8dfc8939e   rustdesk/rustdesk-server   "hbbr"    44 seconds ago   Up 43 seconds             hbbr
  4. 64e629c8a41d   rustdesk/rustdesk-server   "hbbs"    49 seconds ago   Up 48 seconds      
复制代码
运行好后,可以在当前目次下列出文件,输入ls -l data
  1. root@ubuntu:~/rustdesk# ls -l data
  2. total 132
  3. -rw-r--r-- 1 root root  4096 Oct 26 15:25 db_v2.sqlite3
  4. -rw-r--r-- 1 root root 32768 Oct 26 15:25 db_v2.sqlite3-shm
  5. -rw-r--r-- 1 root root 82432 Oct 26 15:25 db_v2.sqlite3-wal
  6. -rw-r--r-- 1 root root    88 Oct 26 15:25 id_ed25519
  7. -rw-r--r-- 1 root root    44 Oct 26 15:25 id_ed25519.pub
复制代码
最后一个文件id_ed25519.pub我们在设置客户端的时间会用到,内里保存的是我们服务器的Key

  • 使用 PM2 部署
使用PM2安装的步骤相对复杂一点,需要我们现在服务器里装一个NodeJS情况
  1. # 更新软件包列表
  2. sudo apt update
  3. # 安装 Node.js 和 npm
  4. sudo apt install nodejs npm -y
  5. # 验证安装是否成功
  6. node -v
  7. npm -v
复制代码
如果复兴如下就代表成功
  1. root@hcss-ecs-124d:~# node -v
  2. v12.22.9
  3. root@hcss-ecs-124d:~# npm -v
  4. 8.5.1
复制代码
安装 PM2
  1. npm i -g pm2
复制代码
检验PM2是否安装成功
  1. root@hcss-ecs-124d:~# pm2 -v
  2. 5.4.3
复制代码
4.下载RustDesk-Serve

点击下面的连接进入RustDesk Sever的Github主页
RustDesk Serve - Github
右键点击zip的安装包,选择复制连接

回到shell里 输入命令 wget 你刚刚复制的连接
  1. wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.12/rustdesk-server-linux-amd64.zip
复制代码
下载zip并解压安装包
  1. apt-get install zip
  2. unzip rustdesk-server-linux-amd64.zip
复制代码
找到自己服务器匹配的架构,一样平常市面上的云服务器都是amd64架构的,跟我一样的命令即可
  1. cd amd64
  2. ls -l
复制代码
如果成功的话,你会在amd64文件夹里看到hbbr, hbbs, id_ed25519, id_25519.pub 和 rustdesk-ut 这五个文件.恭喜你,这个时间就代表你的RustDesk安装成功了
  1. -rw-r--r-- 1 root root     4096 Dec 21 15:29 db_v2.sqlite3
  2. -rw-r--r-- 1 root root    32768 Dec 21 15:32 db_v2.sqlite3-shm
  3. -rw-r--r-- 1 root root    82432 Dec 21 15:32 db_v2.sqlite3-wal
  4. -rwxr-xr-x 1 root root  9194392 Oct  7 16:37 hbbr
  5. -rwxr-xr-x 1 root root 14290448 Oct  7 16:37 hbbs
  6. -rw-r--r-- 1 root root       88 Dec 21 15:29 id_ed25519
  7. -rw-r--r-- 1 root root       44 Dec 21 15:29 id_ed25519.pub
  8. -rwxr-xr-x 1 root root  4734920 Oct  7 16:37 rustdesk-ut
复制代码
接下来通过PM2启动 hbbr 和 hbbs
  1. pm2 start hbbs
  2. pm2 start hbbr
复制代码
如果一切正常你会看到以下结果

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

下载RuskDesk客户端

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

设置RustDesk 客户端

点击左上角的设置 进入网络点击ID/中继服务器

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

还记的我们之前说的id_ed25519.pub里存着我们RustDesk的key么,这时间就用上了, 回到amd64的目次下,执行以下命令
  1. cat id_ed25519.pub
复制代码
你就回获得一个Key(通常是以=末端的),将这个key复制到客户端的Key一栏,然后重启客户端, 当你看到客户端下面是显示就绪的时间,恭喜,你的远程访问功能已然实现

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

以下是访问成功的展示

在移动端上设置RustDesk

刚刚发现RustDesk另有android端, 于是在手机上下载了一个,设置方式和在windows上一样,不外操作起来着实是费劲,只能说是个鸡肋把,在平板上可能效果会好一点,
![请添加图片形貌](https://i-blog.csdnimg.cn/direct/d683fb9bd5c94e7888f7c1b5aec72d69.jpeg

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表