说到远程桌面控制软件,大家应该都很熟悉,常见流行的比如:Teamviewer、向日葵、Todesk、Anydesk、网易 UU 远程等等。一路用来,龙笑天力推且用的最久的是 Todesk,它算是免费里面分辨率高也最流畅好用的,但从今年开始它就开始对免费版进行了一次次的修改限制,开始变得让人远离了。不过这也没啥好说的,毕竟我们免费用了这么多年,别人也是要生存发展的。
龙笑天开始找寻其他用来替换的远程控制软件,找到了 Github Star 高达 92k 可以自托管的开源远程桌面控制程序:Rustdesk。它可以接纳管理自己的所有设备,不限制设备数带宽连接数,支持全平台,包括 Win、MacOS、Android、iOS、Linux 等。
今天,龙笑天以闲置的国内服务器及 Docker 容器为例,详细介绍一下如何使用开源程序 RustDesk 搭建一个自己的远程桌面控制连接服务,以及 RustDesk 软件客户端的使用方法技巧。
1.准备工作
1.1 购买一个公网服务器
因为是自建,那么肯定要购买准备好一个公网服务器了。如果你的设备或客户都是国内的话,那就用一个国内公网服务器最好,带宽在 3M 或以上体验最佳。推荐服务器系统为 Linux 的 Debian 12 系统。
现在 VPS 云服务器也都很便宜,通常 1 年在 100-200 元左右。在这里推荐腾讯云或阿里云服务器,性价比最优。下面这 2 篇文章里会有一些便宜的活动链接,可以点击进去下单购买:
1.2 开放好 RustDesk 相关端口
去服务器服务商的控制台以及宝塔面板或其他面板里,找到防火墙设置,开放好下述 RustDesk 所需要的端口:
因为我们一般不需要网页客户端支持,所以可以禁用这几个端口: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!然后再运行命令来来创建hbbs和hbbr这 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,下文配置客户端时要用到!
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/中继服务器的配置就可以愉快的玩耍了。
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.pub和id_ed25519这 2 个文件,然后重启hbbs和hbbr这 2 个 Rustdesk 容器即可重新生成新的密钥 key。最后,通过运行命令:cat /docker/rustdesk/id_ed25519.pub,可以查看获取到新生成的 key,填入客户端软件的配置里即可。
4.3 导出/导入“ID/中继服务器”配置
当我们按照上面的“3.2”节,把主控端的“ID/中继服务器”配置好了以后,其他的被控端软件也要进行同样的配置。那么,有没有快捷方便的方法完成被控端的配置呢?
当然有了,如上图,主控端网络配置好后,点击红圈里的第 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 开源版单文件客户端免输入设置中继服务器给客户开箱即用 - 飘在云端
声明:本文为原创文章,版权归龙笑天下所有,欢迎分享本文,转载请保留出处!









