Dragon主题购买
便宜的1年期Https SSL证书,推荐买多年最优惠 => 单域名 / 通配符 / IP证书

使用开源程序 RustDesk 自建远程桌面控制连接服务,支持 Win/Mac/Android/iOS 全平台

说到远程桌面控制软件,大家应该都很熟悉,常见流行的比如:Teamviewer、向日葵、Todesk、Anydesk、网易 UU 远程等等。一路用来,龙笑天力推且用的最久的是 Todesk,它算是免费里面分辨率高也最流畅好用的,但从今年开始它就开始对免费版进行了一次次的修改限制,开始变得让人远离了。不过这也没啥好说的,毕竟我们免费用了这么多年,别人也是要生存发展的。

龙笑天开始找寻其他用来替换的远程控制软件,找到了 Github Star 高达 92k 可以自托管的开源远程桌面控制程序:Rustdesk。它可以接纳管理自己的所有设备,不限制设备数带宽连接数,支持全平台,包括 Win、MacOS、Android、iOS、Linux 等。

今天,龙笑天以闲置的国内服务器及 Docker 容器为例,详细介绍一下如何使用开源程序 RustDesk 搭建一个自己的远程桌面控制连接服务,以及 RustDesk 软件客户端的使用方法技巧。

便宜的1年期Https SSL证书,推荐买多年最优惠 => 单域名 / 通配符 / IP证书

1.准备工作

1.1 购买一个公网服务器

因为是自建,那么肯定要购买准备好一个公网服务器了。如果你的设备或客户都是国内的话,那就用一个国内公网服务器最好,带宽在 3M 或以上体验最佳。推荐服务器系统为 Linux 的 Debian 12 系统。

现在 VPS 云服务器也都很便宜,通常 1 年在 100-200 元左右。在这里推荐腾讯云阿里云服务器,性价比最优。下面这 2 篇文章里会有一些便宜的活动链接,可以点击进去下单购买:

特价腾讯云 CVM 云服务器推荐 3 折起 低至 99 元/年-BG
特价腾讯云 CVM 云服务器推荐 3 折起 低至 99 元/年
特价阿里云 ECS 云服务器推荐 3 年付仅 3 折 99 元/年-BG
特价阿里云 ECS 云服务器推荐 3 年付仅 3 折 99 元/年

1.2 开放好 RustDesk 相关端口

去服务器服务商的控制台以及宝塔面板或其他面板里,找到防火墙设置,开放好下述 RustDesk 所需要的端口:

TCP:21115,21116,21117
UDP:21116
RustDesk 端口介绍

1.hbbs 使用到的端口:

  • 21114 (TCP): 用于网页控制台,仅在 Pro 版本中可用。
  • 21115 (TCP): 用于 NAT 类型测试。
  • 21116 (TCP/UDP): 请注意 21116 应该同时为 TCP 和 UDP 启用。 21116/UDP 用于 ID 注册和心跳服务。21116/TCP 用于 TCP 打洞和连接服务。
  • 21118 (TCP): 用于支持网页客户端。

2.hbbr 使用到的端口:

  • 21117 (TCP): 用于中继服务。
  • 21119 (TCP): 用于支持网页客户端。

因为我们一般不需要网页客户端支持,所以可以禁用这几个端口:21114、21118、21119。

1.3 安装好 Docker 服务

如果你的服务器已经安装好 docker 以及 docker-compose 服务,那就跳过此步。如果没有的话,就务必安装一下。服务器使用了宝塔面板的话,那就直接去宝塔面板的菜单“Docker”里安装好 docker 服务即可;其他的话,可以 SSH 里复制粘贴运行下面的命令来安装 docker 服务。

# 安装 Docker 使用阿里云源
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
systemctl enable --now docker

# 安装 docker-compose
curl -L https://github.com/docker/compose/releases/download/v2.27.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 验证 docker 是否安装成功
docker -v
docker-compose -v

# 如失效,请留言或自行百度~

2.部署 RustDesk 服务端

2.1 拉取 Rustdesk 镜像到本地

运行下面的命令来拉取镜像到本地服务器:

docker image pull rustdesk/rustdesk-server

2.2 创建 Rustdesk 容器服务

将下面命令里-r参数的“server_ip”改为你自己的服务器的 IP!然后再运行命令来来创建hbbshbbr这 2 个 Rustdesk 容器:

# 创建hbbs容器
docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v /docker/rustdesk:/root -td --net=host rustdesk/rustdesk-server hbbs -r server_ip -k _
# 创建hbbr容器
docker run --name hbbr -p 21117:21117 -p 21119:21119 -v /docker/rustdesk:/root -td --net=host rustdesk/rustdesk-server hbbr -k _

注意:

1.上面命令中的-k _参数是指强制开启加密连接,以防止我们的 Rustdesk 自托管服务被其他人非法使用。

2.如果想让容器除非手动停止外一直保持运行,可以在命令里添加参数--restart=unless-stopped,以保持容器永远运行。

3.容器创建成功后,Rustdesk 服务会自动在容器目录生成密钥 key。可以通过运行命令:cat /docker/rustdesk/id_ed25519.pub,可以查看获取到 Rustdesk 的一串由字母数字等字符组成的 key,务必复制保存好这个 key,下文配置客户端时要用到!

便宜的1年期Https SSL证书,推荐买多年最优惠 => 单域名 / 通配符 / IP证书

3.Rustdesk 客户端软件使用方法

3.1 下载 Rustdesk 软件

前往 Rustdesk 开源下载地址:https://github.com/rustdesk/rustdesk/releases/,下载自己系统对应的软件版本然后安装好。

3.2 配置软件

运行 Rustdesk 软件后,点击软件界面右上角的“设置”,找依次点击“网络”-“解锁网络设置”-“ID/中继服务器”,再在弹框里填写好下面参数:

ID 服务器:填你的服务器 IP。
中继服务器:填你的服务器 IP。
API 服务器:不填。
Key:填上面保存好的那个 key。

上面参数按说明填写好后,点击“确认”按钮应用参数设置。然后点击菜单“常规”,找到“服务”点击“启动”按钮,就会回到软件首页,并在软件底部看到“就绪”2 字(如下图),就说明你已经成功切换到自建的 RustDesk 服务器,之后在每一个客户端和被控端软件完成同样的 ID/中继服务器的配置就可以愉快的玩耍了。

使用开源程序 RustDesk 自建远程桌面控制连接服务,支持 Win/Mac/Android/iOS 全平台

4.其他技巧

4.1 保护 RustDesk 安全

为了保证我们自己的 RustDesk 中继服务器安全,防止被他人盗用,龙笑天给大家介绍以下 2 种方法,大家任选其一就行。

4.1.1 方法 1:更换密钥 key

我们可以经常更新密钥 key,更换方法见下面的“4.2”节。

4.1.2 方法 2:直接停止容器

我们可以在不用远程操作的时候,输入下面 2 行命令,停止掉 RustDesk 的 2 个容器就行:

docker stop hbbr
docker stop hbbs

然后,再需要用到远程的时候,输入下面 2 行命令,启动 RustDesk 的 2 个容器就行:

docker start hbbr
docker start hbbs

最后,可以输入命令:docker ps -a,来查看容器的运行状态。其中,STATUS 栏里,Exited 代表已停止,Up 代表运行中。

4.2 修改 RustDesk 的密钥 Key

有时候,我们想要修改更换 RustDesk 的密钥“key”的话,应该怎么操作呢?

方法其实很简单,直接前往服务器文件目录/docker/rustdesk/里删除掉id_ed25519.pubid_ed25519这 2 个文件,然后重启hbbshbbr这 2 个 Rustdesk 容器即可重新生成新的密钥 key。最后,通过运行命令:cat /docker/rustdesk/id_ed25519.pub,可以查看获取到新生成的 key,填入客户端软件的配置里即可。

4.3 导出/导入“ID/中继服务器”配置

当我们按照上面的“3.2”节,把主控端的“ID/中继服务器”配置好了以后,其他的被控端软件也要进行同样的配置。那么,有没有快捷方便的方法完成被控端的配置呢?

使用开源程序 RustDesk 自建远程桌面控制连接服务,支持 Win/Mac/Android/iOS 全平台

当然有了,如上图,主控端网络配置好后,点击红圈里的第 2 个按钮,可以导出网络配置得到一串配置字符串。然后在被控端,复制这串配置字符串后,点击红圈里的第 1 个按钮即一键快速的完成配置的填写了,然后点确定即可。

4.4 如何将中继服务器配置直接内置到客户端里?

使用自建中继服务器时,想让别人使用 Rustdesk ,你会遇到一个困扰的问题。使用自建的服务器所提供的远程连接 ID 并不能直接使用的,需要先行客户端配置中继服务器信息。协助别人远程,你总不可能要求别人下载 Rustdesk 客户端之后,还要用户进行一顿设置才能远程连接吧。即使是一两个客户端量少,但每次都要设置,这也是很烦人的,有没有自动化/优雅的方式?

龙笑天在此介绍 2 种方法,大家任选一种即可。第 1 种最简单粗暴,但会暴露自己的中继服务器等信息。第 2 种的话,就不会暴露自己的中继服务器信息,属于高阶玩法,推荐极客玩家使用。

4.4.1 方法 1:更改客户端程序名

此方法由 Rustdesk 官方文档有提供,最简单直接,但仅限 Windows 系统客户端使用。就是将中继服务器配置信息写入到 Rustdesk 客户端的文件名,即,将客户端 exe 程序名称从rustdesk.exe改为rustdesk-host=<host-ip-or-domain>,key=<public-key-string>,-qs.exe

其中,<host-ip-or-domain>为中继服务器的 IP 或域名,<public-key-string>为中继服务器的服务端公钥。具体示例:rustdesk-host=1.2.3.4,key=abcdef123456=,-qs.exe

4.4.2 方法 2:编译生成自己的客户端

利用 Github Actions 编译生成内置自己中继服务器信息的 RustDesk 客户端。详细步骤有点长,不在此赘述了,可参考这 2 篇文章:部署自己的远程桌面服务器 RustDesk,RustDesk 自定义客户端-小风博客RustDesk 通过 API 防止服务器被滥用 自动编译将服务器等信息内置客户端 - 鼠标迁徙

5.相关参考

RustDesk:开源远程桌面与自建服务器解决方案 - RustDesk 官网
Docker – RustDesk 官方文档
开源远程桌面软件 Rustdesk 部署 | GoodBoyboy 's Blog|惬意小屋-点滴记忆
远程部署方案 RustDesk 教程 - 开发调优 - LINUX DO
自建远程桌面连接服务,RustDesk 搭建教程 - 雨月空间站
宝塔搭建属于自己的远程桌面服务器 - 登山亦有道
自建开源全平台 RustDesk 远程桌面控制服务端 - lcry
使用 RustDesk 建立专属自己的远程桌面一个好玩的、开源的、简单的、可以自主搭建的远程桌面连接小工具,推荐饱受各类收费 - 掘金
RustDesk 远程桌面:开源、自托管的最佳远程桌面工具 - 空屿
RustDesk 自建服务器简易教程 | Solitudes
rustdesk 开源版单文件客户端免输入设置中继服务器给客户开箱即用 - 飘在云端

「点点赞赏,手留余香」
HIDE

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2014-05-16

2014-04-26

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
便宜的1年期Https SSL证书,推荐买多年最优惠 => 单域名 / 通配符 / IP证书
评论
正在努力加载中...

精彩推荐

HIDE
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more
Dragon