通过自建服务器实现远程桌面控制

就在这两周,几个国内的远程桌面比如todesk,向日葵等就像是商量好了一般,一起将跨境远程桌面变成了需要高价会员才能使用的情况。考虑到一年一千多的价格,贫穷的小苏实在是付不起。而依然能跨境使用的anydesk的文件传输速度实在是感人,如果想把天文远程台每晚几个GB的照片传回来,可能传到明年都传不完。因此向zhaoqi大佬请教了一下如何利用出租的云服务器实现p2p远程桌面控制和文件传输。

小苏自己是个电脑白痴,linux、网络服务器相关的知识几乎一窍不通。考虑到也许有相同处境的朋友,所以我把这次设置的过程完整记录了一下。实测下来文件传输速度可以达到4MB/s,效果非常不错。

首先我们使用的平台是开源的Rustdesk,他们提供自己的会员服务器的同时,还允许用户使用自建的服务器进行连接。

https://github.com/rustdesk/rustdesk/releases/tag/1.3.2

服务器方面,我使用的是腾讯的轻量云服务器。不得不说国内厂商价格实在是太卷了,一年只需要99rmb。由于远程桌面和文件传输并不需要占用大量的资源,所以服务器只需要选择配置最低的那个即可。在这里给系统安装的镜像是CentOS7.6

购买完服务器以后,就可以直接进入服务器的中控台界面

在这个页面,我们需要点击防火墙菜单进行一些修改。Rustdesk在github文件中提到了所需要的端口,因此我们只需要如图照搬并新建规则即可。

接下来就是一些比较涉及代码的操作了,还好有gpt帮忙基本没碰到什么问题。

首先我们登录服务器,用免密登录即可。在购买完服务器以后里边基本都是空的,所以我们需要先安装docker。

让我们先把用户切换成root(不切换的话所有代码之前都需要加sudo),

su

如果需要密码的话则我们先重设密码,然后按照提示步骤设置密码并切换用户。

sudo passwd root

接下来我们安装docker

yum install -y yum-utils device-mapper-persistent-data lvm2

并设置yum源。

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo

用以下代码查看docker的版本list

yum list docker-ce --showduplicates | sort -r

并选择其中一个进行安装(直接选最新的)

yum -y install docker-ce-26.1.4-1.el7

如果出现complete!就说明安装成功。最后一步我们启动docker并设置docker开机自启

systemctl start docker
systemctl enable docker

最后我们测试一下docker的运行状态,只要不报错即为安装成功。

docker ps

接下来我们在服务器中设置远程桌面的云服务器系统。直接从docker中拉取rustdesk镜像

docker pull rustdesk/rustdesk-server-s6

然后我们需要设置服务器文件,提前在txt中编写好以下内容:

services:
  rustdesk-server:
    container_name: rustdesk-server
    image: rustdesk/rustdesk-server-s6:latest
    environment:
      - "RELAY=xx.xx.xx.xx:21117"
      - "ENCRYPTED_ONLY=1"
    volumes:
      - ./.rustdesk:/data
    network_mode: "host"
    restart: unless-stopped

然后我们需要在服务器中创建一个yml文件并将上述内容写入文件中。根据zhaoqi大佬的guide我们直接将文件放在root目录下。

cd /root

创建一个rustdesk用的目录文件夹。

mkdir /root/.rustdesk

接下来使用vi编辑器创建并编辑docker-compose.yml文件

vi docker-compose.yml

输入这行命令以后会进入文件的编辑页面,按i键进入编辑模式,然后右键粘贴刚才txt中写好的代码。这里需要注意,”RELAY=xx.xx.xx.xx:21117″这里将x换成自己服务器的内网IP地址,具体可以在服务器控制台处看到:

输入完以后按下Esc键退出编辑模式,并输入:wq回车退出。如果报错文件夹为只读文件则改成输入:wq!回车。

设置完这些以后我们就可以运行容器了,注意要在root目录下

docker-compose up -d

再次查看容器运行状态时应该可以看到具体设置好的参数了

docker ps

最后我们来设置rustdesk的网络,从https://github.com/rustdesk/rustdesk/releases/tag/1.3.2

下载和电脑对应的版本并安装。打开以后进入设置-网络界面。

这里的ID服务器和中继服务器均使用自己服务器的公网IP地址。而Key则从刚才的服务器终端获取,我们输入

cat .rustdesk/id_ed25519.pub

即可获取。

这一步需要在控制端电脑和被控制端电脑双方都设置好才行。最后我们就可以通过输入被控制电脑的ip和密码进行联机了。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注