创建 Cloudflare API Token
部署 Token 只负责让 GitHub Actions 管理 Worker、D1 与自定义域名。它不是 EdgeSSH 的登录凭据,也不应作为 Worker 运行时变量。
创建入口
- 登录 Cloudflare Dashboard。
- 打开右上角个人资料。
- 进入 My Profile → API Tokens。
- 选择 Create Token。
- 以 Edit Cloudflare Workers 模板作为起点。
权限建议
确保 Token 覆盖以下能力:
| 范围 | 权限 | 用途 |
|---|---|---|
| Account | Workers Scripts: Edit | 创建或更新 EdgeSSH Worker |
| Account | D1: Edit | 查找、创建 D1 并执行 migration |
| Zone | Workers Routes: Edit | 绑定 CUSTOM_DOMAIN |
Cloudflare 控制台的权限名称可能随界面调整。判断标准是:Token 能部署 Worker、管理目标账户的 D1,并为目标 Zone 配置 Worker 自定义域名。
资源范围应限定到实际账户和域名。EdgeSSH 不使用 KV 或 R2,不要为了省事授予无关资源权限。

保存到 GitHub
Token 创建完成后,只会完整显示一次:
- 复制 Token。
- 打开 Fork 的
Settings → Secrets and variables → Actions。 - 在 Secrets 中创建
CLOUDFLARE_API_TOKEN。 - 粘贴并保存。
不要把 Token 存为普通 Variable。也不要把 Token 写入 .env、.dev.vars、wrangler.toml、README 或截图。
API Token 只是正式部署的 6 项必填配置之一。创建完成后回到GitHub Actions 完整部署流程,将 2 个 Variable 与 4 个 Secret 一次配置完整。
验证与排错
Action 报 Authentication error 或 Invalid API Token 时:
- 确认复制的是 API Token,不是 Global API Key。
- 确认 Secret 名称精确为
CLOUDFLARE_API_TOKEN。 - 确认 Token 尚未被撤销或过期。
- 确认 Account Resources 包含
CLOUDFLARE_ACCOUNT_ID对应账户。
Action 能部署 Worker、但无法创建 D1 时,通常是缺少 Account D1: Edit。能部署但自定义域名绑定失败时,通常是 Zone 范围或 Workers Routes 权限不正确。
文档站 Pages 权限
仓库的 Deploy docs workflow 会把 VitePress 静态产物发布到独立 Cloudflare Pages 项目。若同一个 Token 也用于文档站,请额外确认它具备 Account Cloudflare Pages: Edit。文档项目默认名为 edgessh-docs,不会访问 EdgeSSH 的 D1 或 Worker Secret。