一、背景介绍
最近家里有一台闲置的电脑,打算专门用它来做数字助手。搭建完成之后,发现每次操作电脑的时候,都需要人工登录电脑进行干预,尤其是人不在现场的时候,感觉有些麻烦。
有没有一种办法,通过手机或者其他电脑对这台闲置的电脑进行远程控制呢?
熟悉这块的同学,可能第一时间想到的就是号称国产第一品牌的向日葵。也确实试用过,但是每次使用过程中,感觉经常卡顿,有时莫名其妙的被断线了,甚至出现远程电脑就是在线状态但就是连不上。细细琢磨一番,感觉问题大概率出在:没有充会员......
于是开始利用 AI 大模型帮我找找,有没有一种免费的开源远程桌面控制工具,既能保证远程连接稳定,又不会出现隐私数据泄漏的那种。经过多轮对话,最终发现确实有一款叫 RustDesk 开源工具,号称目前最火热的开源远程桌面软件。
试用了一番,发现这个确实好用,远程连接非常稳定,数据也不会经过第三方平台,在此分享给大家!
二、安装 RustDesk
与其它的远程桌面控制软件相比,RustDesk 最大的核心优势在于:它支持用户自建服务器,让数据完全由自己掌控。同时,它的代码在 GitHub 上是完全公开的,个人和企业都可免费使用,无需为授权付费。
客户端电脑与自建服务器之间的交互,可以用如下流程图进行简要描述。
详细的安装部署流程如下!
3.1、自建服务器
首先准备一台有公网 IP 的 Linux 服务器(比如 Ubuntu 22.04 或 CentOS 8),可以上阿里云或者腾讯云等云厂商上购买,配置上不需要太高,选个1核 CPU 加 1GB 内存的最低配置即可。
从实测效果来看,在进行远程桌面控制的时候特别吃带宽,因此带宽可以配置稍高一点,3M 及以上网络,画面通常比较流畅。
1. 下载服务端程序
登录自建服务器,下载 rustdesk 服务端程序,脚本命令如下。
# 创建工作目录
mkdir -p /opt/rustdesk && cd /opt/rustdesk
# 下载服务端(以 v1.1.14 为例,最新版本请去 GitHub Releases 查看)
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-linux-amd64.zip
# 解压
unzip rustdesk-server-linux-amd64.zip
cd amd64
也可以直接访问 RustDesk Server 页面,选择对应的版本进行下载。
访问地址如下:
https://github.com/rustdesk/rustdesk-server/releases
2. 获取加密 Key
首次启动,运行hbbs服务,它会自动生成一个加密密钥,务必保存好,因为客户端连接时需要用到。
# 前台运行(Ctrl+C 可终止)
./hbbs
# 查看输出的日志,找到 Key 后面的字符串
# Key: xxxxxxxxxxxxxxxxxxxxxxxx
也可以通过如下命令,直接查看生成的公钥文件:
cat ./id_ed25519.pub
获取到 Key 后,按Ctrl+C终止当前进程。
使用nohup命令让服务在后台持续运行,命令如下:
# 启动 hbbr
nohup ./hbbr &
3. 创建配置文件并实现开机自启
创建 hbbs 服务,以便实现开机自启,文件路径如下:
/etc/systemd/system/rustdesk-hbbs.service
内容如下:
[Unit]
Description=RustDesk ID Server
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/rustdesk/amd64
ExecStart=/opt/rustdesk/amd64/hbbs -r 你的服务器IP:21117
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
除此之外,还需要创建 hbbr 服务。
/etc/systemd/system/rustdesk-hbbr.service
内容如下:
[Unit]
Description=RustDesk Relay Server
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/rustdesk/amd64
ExecStart=/opt/rustdesk/amd64/hbbr
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
4. 启动并验证服务
通过如下命令,即可启动并验证服务端程序是否已经部署好了。
# 重新加载 systemd 配置
systemctl daemon-reload
# 启动服务
systemctl start rustdesk-hbbs rustdesk-hbbr
# 设置开机自启
systemctl enable rustdesk-hbbs rustdesk-hbbr
# 查看服务状态
systemctl status rustdesk-hbbs
systemctl status rustdesk-hbbr
# 查看端口监听状态
ss -tulnp | grep -E '21115|21116|21117'
如果状态显示active (running),说明服务启动成功。
5. 关闭防火墙端口
以上部署完成之后,此时客户端可能还无法访问自建服务器,需要再次登录云厂商控制台,将服务器的防火墙端口进行放行,示例如下:
完整的端口放行清单和作用如下:
3.2、安装客户端
客户端的安装就非常的简单了,访问 RustDesk 官网,下载对应系统的客户端版本,然后一路安装即可。
打开 RustDesk,左侧会生成当前电脑被允许访问的 ID 和密码,点击 ID 右边的三个点,进入系统设置页面。
点击网络 -> ID/中继服务器,进入网络设置环节。
对于自建服务器,只需要填写 ID 服务器、中继服务器、Key 这三个配置。其中 ID 服务器和中继服务器,填写自建服务器的 IP 或者域名即可;Key 填写上文中自建服务器生成的密钥。
保存后,回到主页,如果最下方的状态显示为绿色 “就绪”,就说明连接成功了。
按照同样的步骤,在远程电脑上也安装上 RustDesk 客户端,最后在当前电脑中输入要远程电脑的 ID,点击连接。
当跳出如下界面,输入访问密码,即可远程控制目标电脑。
至此,已成功连上远程电脑!
如果不想每次远程控制的时候,重新输入新的密码,可以在被控制的远程电脑中,进入安全设置页面,设置固定密码。
三、小结
从实测结果来看,对比向日葵、TeamViewer 等商业远程软件,RustDesk 在流畅度和稳定性方面表现不俗,几乎不会断线。如果手上有闲置服务器,又有高频远程控制的需求,可利用这款开源软件搭建私有化远程控制服务,不仅连接更稳定,还能规避隐私数据外泄的问题。
最后划重点!无论使用哪款远程控制工具,电脑 ID 和连接密码千万别随便发给别人,一不小心泄露出去了,自家电脑控制权可能就被别人拿走了~