Cockpit 新增访问令牌
发布于 2026年7月2日 · 阅读约 2 分钟
Cockpit 本地优先、在自己机器上完全开放。当你把它暴露到局域网或云沙盒时,新增的可选访问令牌会保护远程访问 —— 而本机照常无感。
Cockpit 一直是本地优先的:它绑定 127.0.0.1,在你自己的机器上,这台机器上的任何人都能用。对本地工具来说,这是对的默认值。但有时你会把 Cockpit 放到别处 —— 局域网,或者云沙盒 —— 这时"任何能连到端口的人"就太开放了。这个版本新增了一个可选的共享访问令牌。
开启
启动服务时传一个令牌:
cockpit --token 你的密钥
或在环境里设 COCKPIT_TOKEN。它默认关闭 —— 现有的本地用法完全不变。
本机照常无感
设了令牌后,本机(loopback)请求仍然豁免。CLI、/cg 片段,以及跑在同一台机器上的浏览器都无需令牌 —— 只有远程请求才需要。开了它也不会挡你自己的路。
三种携带方式
| 客户端 | 怎么带 |
|---|---|
| 浏览器 | 首次用 ?token=<值> 访问 —— Cockpit 写入 cookie 并重定向到干净 URL,让密钥不残留在地址栏 |
| API / WebSocket | Authorization: Bearer <值> 请求头 |
| 任意 | ?token=<值> 查询参数 |
错误或缺失的令牌一律拒绝,令牌用常数时间比较。
什么时候用:暴露到网络时
令牌和网络暴露是搭配的。当你用 COCKPIT_HOST=0.0.0.0 把 Cockpit 开放到局域网或云沙盒时,加上令牌,别让它裸奔:
COCKPIT_HOST=0.0.0.0 cockpit --token 你的密钥
这就是这个特性的全部。完整细节见 CLI 参考。