让全世界的电脑放在一个局域网里为你所用
文章目录
把一台电脑留在海外,人在全球随时接管:
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 被控端
-
BIOS/UEFI 中寻找 Wake on LAN、Power on by PCI-E/PME 一类选项并开启。
-
设备管理器 → 网络适配器 → 有线网卡 → 属性:
- 在“高级”中开启 Wake on Magic Packet;
- 在“电源管理”中允许此设备唤醒计算机,并尽量只允许魔术包唤醒。
-
设置接通电源后自动开机,具体名称常见为 Restore on AC Power Loss。
-
远程主机尽量不要自动睡眠;显示器可以关闭。
-
首次部署要分别测试:锁屏、重启、彻底断电再来电。
不同主板和网卡菜单不同,尤其是 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 安装
被控端完成后:
-
在 Tailscale 管理后台给设备改一个明确的名字,例如 tokyo-macmini。
-
记录它的 Tailscale IPv4 地址。
-
给登录账号开启 MFA。
-
如果这是长期无人值守设备,检查设备密钥过期策略;放宽过期必须同时加强账号安全和设备访问控制。
-
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 中:
-
解锁安全设置。
-
Password / Verification method 选择允许永久密码。
-
设置一个独立、高强度的永久密码;不要复用 GitHub、Apple ID 或系统登录密码。
-
打开 Enable direct IP access。
-
端口保留 21118,或者改成你记录过的其他端口。
-
关闭不需要的权限,例如摄像头、远程打印;如果 SSH 已经承担命令行救援,也可以关闭 RustDesk Terminal。
-
可选:使用 IP 白名单,只允许你的控制端 Tailscale IP。
控制端 RustDesk 的连接框输入:
远端的 Tailscale IP:21118
输入永久密码后,依次验证:锁屏连接、退出 RustDesk 窗口后连接、系统重启后连接、UAC/管理员弹窗控制。
若连接失败,按这个顺序查:
-
tailscale ping 是否能到远端;
-
被控端 RustDesk 是否在运行、是否开启 Direct IP access;
-
端口是否真的是 21118;
-
系统防火墙是否允许 RustDesk;
-
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 实例
所以可靠性排序应该是:
-
主机不睡眠;
-
UPS 扛短时停电;
-
断电恢复自动开机;
-
智能插座做最后的断电重启;
-
路由器/树莓派做 WoL 中继;
-
现场联系人处理物理故障。
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,你愿意为它每月付多少钱?







