如何生成 GitHub Token(用于 Hexo 部署):保姆级教程+避坑指南

发布于:2025-09-13 ⋅ 阅读:(20) ⋅ 点赞:(0)

如何生成 GitHub Token(用于 Hexo 部署):保姆级教程+避坑指南

前置说明:为什么需要 GitHub Token?

在使用 Hexo 部署博客到 GitHub Pages 时,你可能会遇到「密码验证失败」或「需要双重验证」的问题——这是因为 GitHub 已逐步淘汰「密码直接验证」的方式,转而推荐更安全的 Personal Access Token(个人访问令牌)

尤其适合以下场景:

  • 已开启 GitHub 双重验证(2FA),密码无法直接用于部署;
  • 不想在配置文件/命令行中暴露 GitHub 主密码;
  • 需要给 Hexo 分配「仅推送仓库」的最小权限,避免权限过度开放。

为了让你更直观理解,这里对比两种验证方式的差异:

验证方式 安全性 便捷性 GitHub 支持度
密码验证 低(易泄露、无权限控制) 一般(需频繁输入,2FA 下失效) 逐步淘汰
Personal Access Token 高(仅开放必要权限,可随时吊销) 高(一次配置,长期使用) 推荐使用

1. 打开 Token 生成页面(两种路径,避免迷路)

如果直接点击链接失效,可通过 GitHub 后台逐步进入,确保你能找到入口:

路径1:直接访问(推荐)

登录 GitHub 后,打开 Personal Access Tokens (classic) 页面:
👉 https://github.com/settings/tokens
在这里插入图片描述
(图1:GitHub Personal Access Tokens 页面,「Generate new token」按钮)

路径2:后台逐步进入(备用)

  1. 点击 GitHub 右上角「头像」→ 选择 Settings(设置);
  2. 拉到页面底部,选择 Developer settings(开发者设置);
  3. 在左侧菜单找到 Personal access tokens → 点击 Tokens (classic)
  4. 点击绿色按钮 Generate new token → 再次选择 Generate new token (classic)(新手优先用 classic 令牌,配置更简单)。

2. 填写信息并设置权限(关键:避免权限不足或过度开放)

这一步决定 Token 是否能正常用于 Hexo 部署,每一项都要注意:

配置项 填写说明 避坑提示
Note(名称) 自定义一个易识别的名称,比如 Hexo_Deploy_GitHubPages 不要写“我的Token”,否则后续多令牌时分不清用途
Expiration(有效期) 推荐选择 No expiration(永久有效),避免频繁重新配置;
若担心安全,可选「30天/90天」,到期前需提前重新生成
选“永久”不代表无风险,后续若Token泄露,需立即吊销(步骤见 FAQ)
Scopes(权限) 只需要勾选 repo 即可(勾选后会自动选中其下所有子权限) ❶ 不要勾选无关权限(如 gist、user),遵循“最小权限原则”;
❷ 若漏勾 repo,会出现“权限不足(permission denied)”

在这里插入图片描述
配置完成后,点击页面底部绿色按钮 Generate token

(图3:Token 配置页面截图,标注「Note」「Expiration」「repo权限」和「Generate token」按钮)

3. 复制 Token(重中之重:只显示一次,丢了无法找回)

生成成功后,GitHub 会在页面顶部显示一串以 ghp_ 开头的字符串(示例:ghp_abCDefGHIjklMNOpqrSTUvwxYZ123456789)。
在这里插入图片描述

⚠️⚠️⚠️ 注意:Token 只显示一次,一定要复制保存!

必须注意的3件事:

  1. ⚠️立即复制:Token 仅在当前页面显示一次,刷新或关闭页面后无法再次查看;
  2. 安全存储:推荐用「密码管理器」(如 1Password、Bitwarden、系统自带钥匙串)存储,不要明文保存在记事本、桌面文档或代码仓库中(会导致账号被盗);
  3. 暂不关闭页面:建议先复制到安全地方,再继续配置 Hexo,避免中途需要重新查看。
    (图4:Token 生成成功后的显示截图,红框标注 Token 字符串和“仅显示一次”的提示)

4. 配置到 Hexo(含示例+错误排查)

接下来将 Token 配置到 Hexo 的部署文件中,确保能正常推送博客:

步骤1:找到 Hexo 配置文件

打开你的 Hexo 博客根目录,找到 _config.yml 文件(若用 Next 等主题,需区分“站点配置”和“主题配置”,这里修改站点配置)。

步骤2:修改 deploy 配置

找到 deploy 节点,按以下格式替换内容(关键:将 <你的用户名><你的Token> 替换为实际信息):

deploy:
  type: git
  # 格式:https://<GitHub用户名>:<你的Token>@github.com/<GitHub用户名>/<GitHub用户名>.github.io.git
  repo: https://leo-angli:ghp_abCDefGHIjklMNOpqrSTUvwxYZ123456789@github.com/leo-angli/leo-angli.github.io.git
  branch: master# 若你的仓库默认分支是 main,需改为 main
  message: "Hexo deploy: {{ now('YYYY-MM-DD HH:mm:ss') }}"  # 可选:添加部署时间备注,方便查看提交记录

步骤3:执行部署命令

在 Hexo 根目录打开终端,执行以下命令(若出现错误,见下方排查建议):

# 清理缓存(避免旧文件干扰)
hexo clean
# 生成静态页面(将 Markdown 转为 HTML 等文件)
hexo generate  # 可简写为 hexo g
# 部署到 GitHub Pages
hexo deploy    # 可简写为 hexo d

常见错误排查:

  • 若提示「permission denied (publickey)」:检查 repo 链接是否为 https 协议(SSH 协议不支持 Token,需用 SSH 密钥);
  • 若提示「Could not read from remote repository」:确认 repo 中的「用户名」和「仓库名」是否正确(仓库名必须是 <用户名>.github.io);
  • 若提示「403 Forbidden」:重新生成 Token,确保勾选「repo」权限,且配置中的 Token 未写错。
    (图5:Hexo 部署成功的终端截图,红框标注“Deploy done”提示和 GitHub 仓库提交记录)

5. 常见问题(FAQ):解决你可能遇到的后续问题

Q1:Token 丢了/忘了怎么办?

无法找回!需按上述步骤重新生成新 Token,并替换 Hexo 配置文件中 repo 里的旧 Token(旧 Token 会自动失效,无需手动吊销)。

Q2:可以用「Fine-grained tokens(细粒度令牌)」替代 classic 令牌吗?

可以,但细粒度令牌需要额外配置「仓库访问权限」(需指定 <用户名>.github.io 仓库),新手建议先使用「classic 令牌」——配置更简单,不容易因权限遗漏导致部署失败。

Q3:Token 可以给他人使用吗?

不建议!Token 等同于你的账号权限(仅限制定的范围),分享给他人可能导致博客被篡改、仓库数据泄露。若需协作,建议给对方分配「仓库协作者」权限,而非分享 Token。

Q4:如何吊销已泄露/不再使用的 Token?

进入 GitHub Token 管理页面,找到对应的 Token,点击右侧「Delete」即可(吊销后,依赖该 Token 的部署会失效,需用新 Token 替换)。

总结:Token 生成+部署的核心 Checklist

为了避免遗漏关键步骤,可按以下清单核对:

  1. ✅ 生成 Token 时,勾选「repo」权限,名称标注用途;
  2. ✅ 立即将 Token 存到密码管理器,不明文保存;
  3. ✅ 配置 Hexo 时,确保 repo 链接格式正确(https 协议+用户名+Token);
  4. ✅ 部署失败时,优先检查 Token 权限、repo 链接、命令是否正确;
  5. ✅ 若 Token 泄露,第一时间在 GitHub 上吊销。