现在不管是个人远程管理设备,还是团队日常协作运维,远程桌面工具都成了刚需。市面上的 TeamViewer 、 AnyDesk 、向日葵、 ToDesk 各有优势,可要么商用版价格不菲,要么免费版功能受限,还得依赖第三方服务器,数据安全总让人有点不踏实。

而开源免费的 RustDesk 正好能解决这些问题,它支持 Windows 、 MacOS 、 Linux 、安卓、苹果全平台使用,还能自建服务器,数据完全自己掌控,不用依赖第三方。和那些要么商用版收费贵、要么免费版功能受限的工具比起来,它按AGPLv3协议合规使用即可免费商用,直接用官方版本的话,没有额外开源义务,也没有连接时长、设备数量的限制,自带端到端加密,远程连接稳定又安全,不管是个人管理设备还是团队协作运维都够用。今天刘郎就把这款零成本、高实用的远程控制工具分享给大家。

RustDesk为堡塔公司中国大陆地区唯一的代理商,主要负责国内业务的运营和售后

RustDesk的部署

1.新建 RustDesk 文件夹

mkdir rustdesk

2.进入 RustDesk 文件夹

cd rustdesk

3.多容器编排部署

进入 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 -d

4.访问 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 、向日葵这些主流的远程操控工具大同小异,都能实现远程控制、文件传输、剪贴板同步这些核心功能,比如电脑端可直接用鼠标键盘操作被控设备,手机端单指点击对应鼠标左键、长按是右键、双指拖动能移动鼠标,上手没难度。