前言
在远程办公、技术支持、家庭协助等场景中,TeamViewer、ToDesk 等远程控制工具广受欢迎。但你是否也遇到过这些困扰:
免费版限制越来越多? 商业用途风险被封? 数据中转经过第三方,安全性存疑? 卡顿延迟
这里我们介绍一款开源、安全、免费的远程控制系统 —— RustDesk,只需要有一个公网 ip,就可以搭建自己的 RustDesk Server,完全替代传统远控工具!
为什么选择 RustDesk?
RustDesk 是一款用 Rust 开发的开源远程桌面工具,功能类似于 TeamViewer / ToDesk,但具有以下优势:
✅ 自建服务器,数据全程私有化传输 ✅ 完全免费,无商业限制 ✅ 支持 Windows、macOS、Linux、Android、iOS 多平台 ✅ 支持文件传输、剪贴板共享、多窗口等丰富功能 ✅ 开源透明,安全可控
RustDesk
RustDesk github 地址:https://github.com/rustdesk/rustdesk 。
RustDesk server 如何工作?
安装好的 Rustdesk server 有两个可执行程序 hbbs 和 hbbr。
hbbs - RustDesk ID (rendezvous / signaling) server,监听 TCP(21114 - 仅适用于 Pro 中的 http,21115、21116、21118 用于 Websocket)和 UDP (21116) hbbr - RustDesk 中继服务器,监听 TCP(21117、21119 用于 Web 套接字)
以下是 RustDesk 客户端如何与 hbbr / hbbs 通信流程图: https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F
只要 RustDesk 在机器上运行,机器就会不断 ping ID 服务器(hbbs)以使其当前的 IP 地址和端口为人所知。
当您启动从计算机 A 到计算机 B 的连接时,计算机 A 会联系 ID 服务器并请求与计算机 B 通信。
然后,ID 服务器尝试使用 hole punching 将 A 和 B 直接相互连接。
如果 hole punching 失败,A 将通过中继服务器(hbbr)与 B 通信。
在大多数情况下,hole punching 是成功的,并且从不使用中继服务器。
RustDesk server 安装
我们需要有一台有公网 ip 的云主机,推荐使用 Linux 系统。
可以使用官方的一键安装脚本也可以使用 docker 安装。
一键安装
wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh
安装成功后会在终端输出你的
rustdesk server IP/DNS 和 public key ,这两个需要配置到 RustDesk Client. 另外如果忘记
public key, 可以在/opt/rustdesk 目录查找以 .pub后缀的文件。