Gateway host
像总机房所在的主屋,里面存会话、认证资料、通道状态。
Gateway 导读
这一页讲的是如何让 Gateway 跑在一台常开机器上,其他设备通过 SSH 隧道或 tailnet 连过去。最该先看“Start Here”里的两条线:操作端走 SSH 隧道,节点端走 WebSocket。容易搞错的是——Gateway 绑定的是 loopback,必须手动转发端口才能远程访问,不是配个 IP 就能直连。
先讲这一页到底在解决什么
这一页讲的是如何让 Gateway 跑在一台常开机器上,其他设备通过 SSH 隧道或 tailnet 连过去。最该先看“Start Here”里的两条线:操作端走 SSH 隧道,节点端走 WebSocket。容易搞错的是——Gateway 绑定的是 loopback,必须手动转发端口才能远程访问,不是配个 IP 就能直连。
核心想法
官方一直在强调这个画面:Gateway host 才是 agent 真正住着的地方。你的笔记本、手机、网页都只是去远程摸它。
像总机房所在的主屋,里面存会话、认证资料、通道状态。
像一只遥控器,不一定是 agent 真正住的地方。
像外面的手脚和感官,依旧得回到这间主屋听令。
远程访问的重点不是“多装一个”,而是“稳稳连回唯一那一个”。
三种常见住法
这段很像生活场景说明,不是纯技术条目。
像把总机房放在 VPS 或家里小服务器上,让它日夜值班。你的笔记本睡了,家里总机房还醒着。
像家里的主屋一直亮着灯,你出门在外用一只遥控器摸回去。
像你把主屋搬到笔记本里,但偶尔还想让其他机器临时接进来。
场景在变,唯一不变的是“真正的状态和会话只由那一个 Gateway 持有”。
命令翻译
ssh -N -L 18789:127.0.0.1:18789 user@host 到底在现场做了什么?这行命令很多人会背,但不一定真懂。其实画面非常具体。
ssh -N -L 18789:127.0.0.1:18789 user@host像你从自己脚下挖了一条小隧道,通到远处主机的本地小门口。你眼前这边的 127.0.0.1:18789,其实已经被这条隧道悄悄接到了远方那边。
-L像告诉施工队:“在我这边开一个本地入口,通往远处那扇门。”
-N像说“这次不进去开壳子、不聊天,只负责把隧道撑住”。
隧道撑好后,openclaw health、openclaw status --deep 这些动作,看起来像在摸本地门,其实摸到的是远程总机房。
远程默认配置
gateway.mode: "remote" 像“以后默认就走那条隧道回家”如果你每次都要摸远程主机,官方允许你把远程地址和令牌记进配置里。
gateway.remote.url像在通讯录里记住“以后默认回哪扇门”。
gateway.remote.token像顺手把那扇远程门要用的门卡也记下来。
--url 例外官方特别提醒:你手动传 --url 时,CLI 不会替你偷偷套用配置里的隐式凭证。该显式带 token/password 就要显式带。
能记默认值就记默认值,但手动改门牌时,也要自己记得带门卡。
安全规则
这页最想传达的安全习惯,其实就这一句。
像总机房平时不把大门朝街上敞开,而是只在家里开个内门,再靠隧道或专线进去。
如果门真的要开到外面,就必须带 token 或 password,不能裸奔。
像你不只认门牌号,还认门上的独特指纹,防止有人在路上假冒那扇门。
远程的正确默认不是“把门打开”,而是“门尽量还关在家里,只通过可信隧道摸进去”。
最后总结
Remote access 就像人不在家,但通过 SSH 隧道或尾网专线摸回唯一那间总机房;重点不是再开一个 Gateway,而是安全地连回那一个。
如果你已经能连回去,但就是不知道哪儿坏了,下一页就去 /gateway/troubleshooting。