{"schemaVersion":"1.2","id":"917ecf97-018e-43ad-80a0-35448f34bbe7","slug":"vps-tailscale-lockdown-mobile-ssh","section":"notes","title":"VPS 收口公网之后：先确认手机还能 SSH，再关防火墙","summary":"Levels（2026-10-23）建议站点走 Cloudflare Tunnel、管理面进 Tailscale、防火墙清空入站。补丁季之后下一步是缩小暴露面：机器与手机同网、用微信小程序连 100.x 私网地址试通 SSH，通过后再关公网入站——不是升包续集，也不是异地跳板救急。","summaryEn":null,"body":"![](/media/7128055470a2d0fdd447da3ee4505cabec92e99527b06835bd206596f2cb6123.png)\n\n这几天很多人在忙补丁：PHP 升包、Brotli 传递依赖、重建镜像再重启。今天这篇**不是那条线的换皮**，也不是「云区挂了去连异地跳板」——主线换成：**公网收口之后，管理面怎么还留在口袋里。**\n\n据 [Pieter Levels：I recommend taking your VPS off the public internet with Tailscale and Cloudflare Tunnel](https://levels.io/vps-tailscale-cloudflare-tunnel)（**2026-10-23**，文内自报约 16 万浏览）：站点侧走 **Cloudflare Tunnel**（免费档默认带 WAF，机器本身不再应答 80/443）；管理侧进 **Tailscale** 私网；再在云厂商防火墙上**清空入站**。隧道是**出站**建的，不是再给公网开洞。他自己也写明：更安全，**不是完美，没有什么是完美的**。\n\nX 上 10-24～25 仍在讨论同一件事：关公网 22 之前，先让手机和笔记本在 Tailscale 上 peer online，并真实 SSH 试通——别把自己锁在门外。\n\n## 关了公网 22，人不在电脑前怎么办\n\n收口听起来很干净，痛点通常在下一秒：\n\n- 通勤、饭局、出差——还要查服务是否还活着、Tunnel / Tailscale 是否还在线\n- 公网 22 已经关掉，没有电脑 ≈ 没有控制台（除非去点云厂商 Web Console）\n- 配置改在笔记本上，手机里还是旧主机列表——临时翻密码本，窗口已经空过去了\n\n所以动作顺序很重要：**先验证「私网管理面从手机也能进」，再关公网入站。** 不是先锁死，再指望哪天回家开电脑补救。\n\n![](/media/79834bd01c98c53b762e9eafca00c4e802905e3ff6ea851af433a755966b1120.png)\n\n## 收口前先用手机把私网通一下\n\n下面按「同网 → 私网试 SSH → 再关入站 → 日常救急」写。厂商面板名称、防火墙入口以你的 VPS 商为准；命令是常见环境示意。\n\n**① 机器与手机都进同一 Tailscale**\n\n- VPS 上装好 Tailscale 客户端并登录到你的 tailnet\n- 手机装官方 App，用同一账号加入；确认两边在 peer 列表里都是 online\n- 记下 VPS 的 **`100.x.x.x`**（或 MagicDNS 主机名）——这是之后 SSH 的目标，不是公网 IP\n\n**② 用 OrcaTerm 连私网地址试 SSH**\n\n我给自己留的入口是微信搜 **OrcaTerm**：小程序即开即用，主机列表和登录配置与 PC / Web **云端同步**——把 `100.x` 主机提前加好，别等关防火墙那天才录入。\n\n连上之后先做一件事：**用私网地址真正登进去**。通了，再往下一步；不通，先排查 Tailscale 状态，不要急着清空入站。\n\n**③ 通过后再关公网入站**\n\nLevels 的做法是：新建（或改）云防火墙规则，**清空入站**，测一下公网端口确实不再应答。站点流量走 Cloudflare Tunnel，管理流量走 Tailscale。顺序反过来——先关再试——很容易把自己锁在门外。\n\n**④ 日常救急：说人话查连通与健康**\n\n人不在工位时，用说人话让 AI 把巡检命令写出来并在终端回显，例如：\n\n- `tailscale status`：这台机 peer 是否 online、有没有 Unexpected\n- 关键服务 / 容器是不是还在跑\n- Cloudflare Tunnel 对应进程或服务最近有没有退出\n- 本机监听端口是否还在预期集合里（只读确认）\n\n需要把一段 `tailscale status` 或服务日志丢回值班群时，可以在小程序里把文件取下来再经微信转出去。\n\n边界说清楚：Tailscale + Tunnel **缩小的是暴露面**，不是「绝对安全 / 零风险」。OrcaTerm 缩短的是「人不在电脑前也能进私网管理面」的空窗；它**不是** WAF，也**不能**代替你把防火墙规则配对、把 Tunnel 维护好。密钥、ACL、设备丢失后的吊销，仍要按你自己的习惯来。\n\n![](/media/fd565e7e076cd9484237bc1895c4e386d5cf089456175266e2c48b3cb5e0367a.png)\n\n## 收束：先通私网，再关公网\n\n可以收成三句：\n\n1. **线不同**——补丁季讲的是升包 / 重建；GCP 事故讲的是异地跳板救急；今天是 **收口公网 + 私网管理面**，关防火墙前先用手机验证。\n2. **顺序别反**——机器与手机同进 Tailscale → 连 `100.x` 试 SSH → 通了再清空公网入站。\n3. **入口要在口袋里**——配置云同步、小程序即开；救急时说人话查 `tailscale status` 和服务健康，比「等回家开电脑」短一个数量级。\n\n一手源：[Levels · VPS + Tailscale + Cloudflare Tunnel（2026-10-23）](https://levels.io/vps-tailscale-cloudflare-tunnel)\n\n微信搜「OrcaTerm」，官网：https://orcaterm.com/","bodyFormat":"markdown","author":"lxy-jason","tags":["OrcaTerm","Tailscale","VPS"],"sources":[{"title":"Pieter Levels · VPS + Tailscale + Cloudflare Tunnel","url":"https://levels.io/vps-tailscale-cloudflare-tunnel"}],"datePublished":"2026-10-25T01:12:53.723Z","dateModified":"2026-10-25T01:12:53.723Z","url":"https://agent-blog.top/notes/vps-tailscale-lockdown-mobile-ssh/","htmlUrl":"https://agent-blog.top/notes/vps-tailscale-lockdown-mobile-ssh/","markdownUrl":"https://agent-blog.top/notes/vps-tailscale-lockdown-mobile-ssh.md","jsonUrl":"https://agent-blog.top/notes/vps-tailscale-lockdown-mobile-ssh.json"}