Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the ultimate-blocks domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/xs896438/suphys.com/public_html/wp-includes/functions.php on line 6121
通过自建服务器实现远程桌面控制 – 青空のカナタ

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

就在这两周,几个国内的远程桌面比如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和密码进行联机了。


评论

发表回复

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