好文集ChatGPT Plus¥119

让全世界的电脑放在一个局域网里为你所用

文章目录

把一台电脑留在海外,人在全球随时接管:

Tailscale + RustDesk + SSH Agent 实操

版本:2026-08-08。文中产品菜单会随版本微调,核心原理不变。

这是我自己折腾远程电脑之后,觉得目前最稳的一套组合。

文章配图

第一条路是网易 UU 远程。

它开箱即用,适合当主力或备用入口。但如果控制端电脑开了全局代理,而被控电脑又在海外,流量路径有时会绕得很奇怪:本来两台机器可以直接连,最后却经过了代理或中继,延迟和画质都会明显恶化。

第二条路是Tailscale + RustDesk。

Tailscale 让分散在不同国家、不同网络下的设备进入同一个加密虚拟局域网;RustDesk 负责在这条“局域网通道”上显示和控制桌面。两者分工清楚,也不需要把远控端口直接暴露到公网。

第三条路是 SSH + Agent。

桌面卡住时,我仍然可以通过命令行检查进程、重启服务、拉代码、跑脚本;再在远端安装 Hermes 或 Pi 之类的 Agent,它就不只是一台“能看到桌面的电脑”,而是一个可以长期执行任务的工作节点。

网易 UU 和这套方案可以同时存在,不冲突。真正可靠的远程方案,从来不是迷信某一个软件,而是给自己保留两到三条互相独立的回家路线。

一、先理解这套方案到底在做什么

Tailscale 给每台设备分配稳定的 100.x.y.z 地址,也可以通过 MagicDNS 直接使用设备名。两台设备网络条件允许时会点对点直连;无法直连时,才会退回加密中继。官方说明中,直连、Peer Relay 和 DERP 中继三种路径都使用 WireGuard 端到端加密,主要差别是性能,不是是否加密。

Tailscale Quickstart·连接类型说明

RustDesk 在被控端开启“Direct IP access”后,会监听直连端口,默认是 21118。因此你连接的不是 RustDesk 公网 ID,而是远端设备的 Tailscale 地址,例如:

100.88.12.34:21118

然后输入被控端设置的永久密码即可。RustDesk 官方设置项对应 direct-server=Y,默认直连端口为 21118。RustDesk 高级设置

这套组合最重要的好处是:路由器不需要开放 21118,也不需要公网 IP,更不要做端口映射。

二、准备清单

被控端建议准备:

  • 一台 Windows PC 或 Mac mini;长期运行优先选有线网。

  • UPS,至少能扛住短时停电和电压波动。

  • 可远程控制的智能插座,但不要把它当作正常关机按钮。

  • 无显示器运行时,准备 HDMI 虚拟显示器或确认系统能稳定生成虚拟屏幕,避免黑屏、低分辨率。

  • 一台局域网内始终在线的路由器、树莓派或小主机,用作 WoL 中继。

  • 一个现场联系人。再好的软件,也修不了松掉的网线和死机的路由器。

控制端需要安装 Tailscale、RustDesk;网易 UU 远程保留为备用也完全可以。

文章配图

三、第一步:先把远端电脑调成“适合无人值守”

不要装完远控就立刻离开。先把电力、睡眠、重启恢复处理好。

Windows 被控端

  1. BIOS/UEFI 中寻找 Wake on LAN、Power on by PCI-E/PME 一类选项并开启。

  2. 设备管理器 → 网络适配器 → 有线网卡 → 属性:

    • 在“高级”中开启 Wake on Magic Packet;
    • 在“电源管理”中允许此设备唤醒计算机,并尽量只允许魔术包唤醒。
  3. 设置接通电源后自动开机,具体名称常见为 Restore on AC Power Loss。

  4. 远程主机尽量不要自动睡眠;显示器可以关闭。

  5. 首次部署要分别测试:锁屏、重启、彻底断电再来电。

不同主板和网卡菜单不同,尤其是 Wi-Fi 唤醒支持很不一致。长期托管优先使用有线网。

Mac mini 被控端

系统设置 → 能源中,建议检查:

  • 打开“显示器关闭时防止自动睡眠”;

  • 打开“唤醒以供网络访问”;

  • 打开“断电后自动启动”,或者在支持的 2024 年及之后 Mac mini、macOS 26.5 及之后版本中,将“接通电源时启动”设为“始终”。Apple 已明确说明这些选项的用途。Mac 台式机能源设置 · 接通电源自动启动

这里有个重要限制:Tailscale 官方目前说明,Windows 可以用 Run Unattended 作为系统服务运行,但 macOS 还不能完全以系统身份做到同样的无人登录运行。

因此 Mac 重启后、用户尚未登录时,不能想当然地认为 Tailscale 已经恢复。Tailscale 无人值守说明

如果 Mac 开了 FileVault,更要在离场前实际做一次“断电—开机—远程恢复”演练。新系统已经增加部分远程解锁能力,但具体能否使用仍取决于机型、系统版本、Remote Login 和当时可用的网络;托管场景依然应该保留远程机房协助。

四、第二步:用 Tailscale 搭出虚拟局域网

在控制端和被控端都安装 Tailscale,并登录同一个 tailnet。

用 GitHub 作为登录身份提供商可以,但关键并不是“必须 GitHub”,而是两台设备属于同一个 Tailscale 网络。

macOS 官方目前推荐独立安装包版本。

Windows 安装·macOS 安装

被控端完成后:

  1. 在 Tailscale 管理后台给设备改一个明确的名字,例如 tokyo-macmini。

  2. 记录它的 Tailscale IPv4 地址。

  3. 给登录账号开启 MFA。

  4. 如果这是长期无人值守设备,检查设备密钥过期策略;放宽过期必须同时加强账号安全和设备访问控制。

  5. Windows 右键任务栏 Tailscale → Preferences → Run unattended;或者管理员终端运行:

tailscale up --unattended=true

先不要急着开 RustDesk。在控制端测试:

tailscale statustailscale ping tokyo-macmini

如果结果最后出现 via 公网IP:端口,通常表示已经建立直连;如果一直是 via DERP(地区),说明正在走中继,延迟和吞吐会差一些。可再运行:

tailscale netcheck

检查 UDP 是否可用、NAT 是否过严。

Tailscale 官方也将 tailscale ping、status 和 netcheck 作为判断直连/中继与性能问题的主要工具。

DERP 路由排查·性能排查

如果电脑开着全局代理,建议在代理软件中把以下项目加入直连/绕过规则:

  • Tailscale 的 100.64.0.0/10 地址段;

  • tailscale.exe、rustdesk.exe 或对应 macOS App;

  • 本机局域网地址段;

  • 不要把 Tailscale 的虚拟网卡再次套进另一层全局隧道。

不同代理软件的 TUN/系统代理实现不同,所以不要只看“代理已绕过”的开关,要用 tailscale ping 的实际路径验收。

五、第三步:让 RustDesk 只走 Tailscale 直连

在被控端安装 RustDesk。Windows 上建议完成系统服务安装,否则 UAC、锁屏或重启后可能失去完整控制;macOS 上把 App 放进 Applications,并授予:

  • Accessibility(辅助功能):允许控制键盘和鼠标;

  • Screen Recording(屏幕录制):允许看到桌面;

  • 必要时开启 Input Monitoring(输入监控)。

这些是 RustDesk 官方列出的 macOS 必需权限。

RustDesk macOS 指南

然后在被控端 RustDesk → Settings → Security 中:

  1. 解锁安全设置。

  2. Password / Verification method 选择允许永久密码。

  3. 设置一个独立、高强度的永久密码;不要复用 GitHub、Apple ID 或系统登录密码。

  4. 打开 Enable direct IP access。

  5. 端口保留 21118,或者改成你记录过的其他端口。

  6. 关闭不需要的权限,例如摄像头、远程打印;如果 SSH 已经承担命令行救援,也可以关闭 RustDesk Terminal。

  7. 可选:使用 IP 白名单,只允许你的控制端 Tailscale IP。

控制端 RustDesk 的连接框输入:

远端的 Tailscale IP:21118

输入永久密码后,依次验证:锁屏连接、退出 RustDesk 窗口后连接、系统重启后连接、UAC/管理员弹窗控制。

若连接失败,按这个顺序查:

  1. tailscale ping 是否能到远端;

  2. 被控端 RustDesk 是否在运行、是否开启 Direct IP access;

  3. 端口是否真的是 21118;

  4. 系统防火墙是否允许 RustDesk;

  5. macOS 屏幕录制/辅助功能权限是否在升级后被重置。

六、第四步:SSH 是救援通道,Agent 是执行层

远程桌面适合操作 GUI,SSH 更适合救援和自动化。最简单的结构是:Agent 直接安装在远端电脑上,你从任意已加入 tailnet 的设备 SSH 进去,再启动它。

macOS 开 SSH

系统设置 → 通用 → 共享 → 打开“远程登录”,并把允许用户限定到专用账号。Apple 明确说明 Remote Login 就是 SSH 入口。Mac 共享设置

Windows 开 OpenSSH Server

先查询状态,再在管理员 PowerShell 中安装并设为自启动:

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server*'Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0Start-Service sshdSet-Service -Name sshd -StartupType Automatic

然后从控制端通过 Tailscale 地址登录:

ssh agent-runner@100.88.12.34

建议使用 SSH 密钥,确认密钥登录成功后再关闭密码登录。不要在路由器上开放公网 22 端口。

在远端安装 Hermes 或 Pi

Hermes 官方当前的一键安装方式是:

macOS / Linux / WSL2curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Windows 原生 PowerShell(官方仍标注为早期支持)iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)

安装后运行 hermes 完成模型与凭据配置。官方也支持把 Hermes 的 terminal backend 设为 SSH,让一个 Hermes 实例把命令发送到另一台主机;最基本的变量包括

TERMINAL_SSH_HOST、TERMINAL_SSH_USER,并可指定端口和私钥。

Hermes 仓库·Hermes SSH backend 配置

如果你说的 Pi 是 Pi coding agent,当前官方快速安装命令是:

npm install -g --ignore-scripts @earendil-works/pi-coding-agentcd /path/to/projectpi

Pi 的扩展和技能可能执行任意代码,官方也明确提醒安装第三方包前应审查源码。Pi Quickstart·Pi 包安全说明

Hermes 和 Pi 并不是装上就会自动互相编排。实操中可以先简单分工:Hermes 负责长期任务、定时和跨工具协调;Pi 进入具体项目目录处理代码。先分别跑通,再考虑集成。

七、Agent 权限:不要把“能控制整台电脑”当卖点

Agent 能拿到多少权限,取决于启动它的操作系统账号。远程能力越强,误删、凭据泄露、恶意技能和提示注入的风险越高。

文章配图

我建议专门建立一个普通用户,例如 agent-runner:

  • 只允许访问工作目录;

  • Git、SSH、云服务凭据按任务最小化配置;

  • 需要管理员权限时人工确认并临时提权;

  • 删除、支付、发布、部署、发送消息默认必须确认;

  • 重要代码和资料至少有一份不挂载给 Agent 的备份;

  • 不把浏览器主账号、支付钱包、家庭照片和 Agent 工作环境混在一个用户下。

这样它仍然能完成绝大多数开发和维护工作,但一次错误不会直接等于整台机器沦陷。

八、为什么 WoL 不能只靠 Tailscale

WoL 魔术包是二层广播,而 Tailscale 工作在三层。Tailscale 官方明确说明,即使开了 subnet router,也不能直接把 WoL 二层广播送到远端局域网。解决办法是在远端局域网里放一台始终在线的设备,让你先通过 Tailscale 找到它,再由它代发 WoL 包。

Tailscale WoL 实例

文章配图

所以可靠性排序应该是:

  1. 主机不睡眠;

  2. UPS 扛短时停电;

  3. 断电恢复自动开机;

  4. 智能插座做最后的断电重启;

  5. 路由器/树莓派做 WoL 中继;

  6. 现场联系人处理物理故障。

WoL 是补充,不是唯一的救命绳。

九、离开现场前,必须完成这张验收单

  • 控制端和被控端都能看到对方的 Tailscale 状态。

  • tailscale ping 已确认当前是直连还是 DERP 中继。

  • RustDesk 使用 Tailscale IP:21118 能连接。

  • 被控端锁屏后永久密码仍可进入。

  • Windows UAC 或 macOS 权限弹窗可以处理。

  • SSH 密钥登录成功,密码登录按需要关闭。

  • 系统重启后 Tailscale、RustDesk、SSH 都恢复。

  • 模拟断电恢复后,主机能自动开机。

  • 主远控失效时,备用远控或 SSH 能救援。

  • 远端路由器、智能插座、主机不共用一个无法远控的故障点。

  • 记录设备名、Tailscale IP、RustDesk 端口、现场联系人,但不在同一文档保存密码和私钥。

十、如果把 Mac mini 放在台湾、日本、新加坡,会值多少钱?

市面上确实有云 Mac。以当前公开页面为例,MacinCloud 的 Managed Server 起价约 25 美元/月,Dedicated Server 页面出现 49 美元/月档位;但低价套餐可能没有 Admin/Root 权限,是否能装 Tailscale、RustDesk、Hermes,以及是否允许长期交互式使用,都必须逐项确认。MacinCloud 方案页

AWS EC2 Mac 则是 Dedicated Host,按秒计费但最低分配 24 小时,更适合企业构建与弹性基础设施,不是 50 美元/月这一档的个人远程桌面。AWS EC2 Mac

如果是我付钱,我不会为“一个海外 IP”单独付高价,我会为下面这些可验证的交付付钱:

  • 50–70 美元/月:独享实体 Mac、完整管理员权限、稳定有线网络、可自装软件、远程重启、基础现场协助。

  • 90–150 美元/月:在上面基础上增加 UPS、备用网络、硬件故障快速替换、每月固定次数的 remote hands、明确的可用性承诺。

  • 如果还包含硬件购置,应把“机器押金/分期”和“每月托管服务费”分开,避免用户永远搞不清自己买的是电脑还是租的是账号。

本地手机号、信用卡和账号不建议由托管方打包代持。它会把支付、身份验证、账号归属、退款和服务条款风险全绑在服务商身上。

更干净的产品是:服务商只提供真实的本地硬件、网络、电力和远程协助;用户自己持有账号、支付方式和数据。

同时,远端电脑位于某个国家,并不自动代表某项 AI 服务的账号、账单地址或使用方式符合服务条款。GPT、Claude 等服务的可用地区、付款和账号规则,应以当时官方条款为准;这套架构的价值是稳定的远程工作环境,不是规避地区限制。

最后

这套东西真正卖的,不是“远控软件安装服务”,而是一台人在全球、随时能回去、坏了也有人救的个人工作节点。

Tailscale 解决网络,RustDesk 解决桌面,SSH 解决救援,Hermes/Pi 解决持续执行,UPS、自动开机和现场联系人解决现实世界。

只要不断网、不断电,确实可以从全球任何地方接回这台电脑;但真正专业的版本,还要补上:即使短暂断网、断电或某个软件挂了,它也能自己恢复,或者至少留下一条救援通道。

如果有一台 Mac mini 长期放在台湾、日本、新加坡或东南亚机房,独享、可装任意软件、支持远程桌面和 SSH,你愿意为它每月付多少钱?

全文完
查看原文