目录
突然想到是否能用随身携带的笔记本远程控制家里的电脑。于是,我上网搜索了一番,发现了一个名为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登录服务器就执行下面的命令
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
创作不易,看完麻烦点个赞~