用Docker部署RustDesk远程桌面控制工具
现在不管是个人远程管理设备,还是团队日常协作运维,远程桌面工具都成了刚需。市面上的 TeamViewer 、 AnyDesk 、向日葵、 ToDesk 各有优势,可要么商用版价格不菲,要么免费版功能受限,还得依赖第三方服务器,数据安全总让人有点不踏实。
而开源免费的 RustDesk 正好能解决这些问题,它支持 Windows 、 MacOS 、 Linux 、安卓、苹果全平台使用,还能自建服务器,数据完全自己掌控,不用依赖第三方。和那些要么商用版收费贵、要么免费版功能受限的工具比起来,它按AGPLv3协议合规使用即可免费商用,直接用官方版本的话,没有额外开源义务,也没有连接时长、设备数量的限制,自带端到端加密,远程连接稳定又安全,不管是个人管理设备还是团队协作运维都够用。今天刘郎就把这款零成本、高实用的远程控制工具分享给大家。
RustDesk为堡塔公司中国大陆地区唯一的代理商,主要负责国内业务的运营和售后
RustDesk的部署
1.新建 RustDesk 文件夹
mkdir rustdesk2.进入 RustDesk 文件夹
cd rustdesk3.多容器编排部署
进入 RustDesk 文件目录后,在该目录下新建 docker-compose.yaml 文件,然后将以下代码复制到其中:
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server
container_name: rd-hbbs
restart: always
network_mode: "host"
volumes:
- ./hbbs:/root
command: hbbs -r 123.12.123.123 # 你的服务器IP
hbbr:
image: rustdesk/rustdesk-server
container_name: rd-hbbr
restart: always
network_mode: "host"
volumes:
- ./hbbr:/root
command: hbbr在部署 RustDesk 项目之前,记得先开放21115、21116(UDP+TCP)、21117、21118、21119端口,避免后续在运行 RustDesk 项目时无法正常运行:
① 21115端口(TCP):NAT类型测试,非必需,可不开
② 21116端口(TCP+UDP):TCP打洞、建立直接连接;UDP必须开,否则设备ID注册不上,连不了自建服务器,心跳保活,必需
③ 21117端口(TCP):核心中继数据传输,必需
④ 21118端口(TCP):网页客户端支持,不需要可不开
⑤ 21119端口(TCP):网页客户端支持,不需要可不开
如果仅用于基础远程控制,只需要放行 21116(TCP+UDP) 和 21117(TCP)即可。21115、21118、21119都属于可选端口,不影响核心远程功能,按需放行即可。
然后在 RustDesk 目录下打开命令行终端,执行以下命令:
docker-compose up -d4.访问 RustDesk 服务
运行成功后,在浏览器地址输入:http://<服务器IP地址>:21116(或其它开放端口),即可访问 RustDesk 服务。
但此时你会发现,页面会提示“ 无法访问此网站 ”。
其实这是正常的,因为 RustDesk 这个项目没有 Web 界面,所以不能用 http://<服务器IP地址>:21116(或其它开放端口) 访问,而需要使用客户端来访问。
RustDesk的下载和设置
1.下载 RustDesk 客户端
打开 RustDesk 客户端的下载地址,根据自己使用的设备,选择对应平台版本下载即可:
我这里就以PC端的Windows系统和移动端的iOS系统为例。
2.PC端 RustDesk 客户端的设置
下载完成之后,打开 RustDesk 程序,如果看到提示“ 你正在运行未安装版本,由于UAC限制,作为被控端…… ”点击“ 安装 ”即可:
安装完成之后,重新打开 RustDesk 程序,点击页面右上角的“ ≡ ”设置,然后点击左侧菜单栏的“ 网络 ”,“ 解锁网络设置 ”,接着点击展开“ ID/中继服务器 ”,依次填写“ ID服务器 ”、“ 中继服务器 ”和“ Key ”确认即可:
连接密钥Key的获取:
cat ./hbbs/id_ed25519.pub注意:该命令在服务器终端执行,且以第一次执行后出现的连接密钥Key值为准。(执行后,如果又忘记保存了,可以直接到 RustDesk 项目目录查看:/ RustDesk / id_ed25519.pub )
AyIX0HGaYe7SNz7fkoHdj54H62Rj5GVazkzvvC0SJpk=注意:连接密钥Key值是以“ = ”结尾
返回主页,看到“ 就绪 ”二字,PC端 RustDesk 客户端的设置就算设置成功了:
3.iOS移动端 RustDesk 客户端的下载和设置
① 下载
回到第1步:下载 RustDesk 客户端,打开 RustDesk 客户端的下载地址,选择iOS移动端下载:
② 设置
下载完成之后,打开软件开始进行iOS移动端 RustDesk 的配置:点击页面右下角的“ 设置 ”,然后在“ 设置 ”页面选择“ ID/中继服务器 ”:
操作与PC端一样,依次填写“ ID服务器 ”、“ 中继服务器 ”和“ Key ”确认即可:
注意:这里在填写“ API服务器 ”时,一定要添加“ https:// ”或“ http:// ”协议,否则连接会报错。
RustDesk的使用
在“ 连接 ”页面的顶部输入框里填入被控端(电脑或其他设备)的ID,点击“连接”后,输入被控端的密码,如果被控端没设置固定密码,就用它界面上显示的随机密码,设置过的话直接输固定密码就行,确认后就能成功建立远程连接。
连接成功后,操作逻辑和 TeamViewer 、向日葵这些主流的远程操控工具大同小异,都能实现远程控制、文件传输、剪贴板同步这些核心功能,比如电脑端可直接用鼠标键盘操作被控设备,手机端单指点击对应鼠标左键、长按是右键、双指拖动能移动鼠标,上手没难度。

我最近也在考虑要不要部署一个,公司环境把所有远程工具都给屏蔽了,很不方便
上有政策 下有对策 马上行动吧
那天ipv6真正普及时,这些docker工具就能发挥出应有的作用了。
只要有这方面的需求 现在用也不迟 好工具都是用出来的
rustdesk好久之前折腾过一次,感觉也就适合家庭网络自己玩,达不到0延迟的效果。办公还是以todesk或者向日葵为主,因为客户也方便安装
实话 哈哈 毕竟自部署的项目 好多地方都不如那些市场上成熟的产品线 扎实(但费用贵呐) 不过想想也罢 各有各的好
曾经折腾过一次,感觉太麻烦了;如果只是自己用的话,我还是习惯用frp直接用mstsc
这类工具不在于知道的多 而在于折腾的多 每一款工具都亲自上手尝试一下 然后从这些工具中找出一款最符合自己需求的 各方面都最适合自己的即可
是不是得有公网IP才能进行呀~
我现在是nas和rustdesk都有了,目前用的别人自建的服务器。
也不完全是 用别人的服务器很多东西的隐私性真挺不好说的
好东西,mark一下~
欢迎哦