OpenCockpitOpenCockpit
← 返回博客

Cockpit 新增访问令牌

发布于 2026年7月2日 · 阅读约 2 分钟

Cockpit 本地优先、在自己机器上完全开放。当你把它暴露到局域网或云沙盒时,新增的可选访问令牌会保护远程访问 —— 而本机照常无感。

Cockpit 一直是本地优先的:它绑定 127.0.0.1,在你自己的机器上,这台机器上的任何人都能用。对本地工具来说,这是对的默认值。但有时你会把 Cockpit 放到别处 —— 局域网,或者云沙盒 —— 这时"任何能连到端口的人"就太开放了。这个版本新增了一个可选的共享访问令牌。

开启

启动服务时传一个令牌:

cockpit --token 你的密钥

或在环境里设 COCKPIT_TOKEN。它默认关闭 —— 现有的本地用法完全不变。

本机照常无感

设了令牌后,本机(loopback)请求仍然豁免。CLI、/cg 片段,以及跑在同一台机器上的浏览器都无需令牌 —— 只有远程请求才需要。开了它也不会挡你自己的路。

三种携带方式

客户端怎么带
浏览器首次用 ?token=<值> 访问 —— Cockpit 写入 cookie 并重定向到干净 URL,让密钥不残留在地址栏
API / WebSocketAuthorization: Bearer <值> 请求头
任意?token=<值> 查询参数

错误或缺失的令牌一律拒绝,令牌用常数时间比较。

什么时候用:暴露到网络时

令牌和网络暴露是搭配的。当你用 COCKPIT_HOST=0.0.0.0 把 Cockpit 开放到局域网或云沙盒时,加上令牌,别让它裸奔:

COCKPIT_HOST=0.0.0.0 cockpit --token 你的密钥

这就是这个特性的全部。完整细节见 CLI 参考


试一下: npm i -g @surething/cockpit · GitHub · 在线体验