Hexo 部署到 GitHub(SSH 方式)完整方案
1️⃣ 准备工作
安装 Git
1
git --version
确认 Git 已安装。
安装 Node.js 与 Hexo
1
2npm install -g hexo-cli
hexo -v
2️⃣ 生成 SSH Key
如果没有 SSH key:
1 | ssh-keygen -t rsa -b 4096 -C "[email protected]" |
- 一路回车,使用默认路径
~/.ssh/id_rsa
- 生成文件:
id_rsa
(私钥)id_rsa.pub
(公钥)
3️⃣ 将公钥添加到 GitHub
查看公钥内容:
1
cat ~/.ssh/id_rsa.pub
打开 GitHub → Settings → SSH and GPG keys → New SSH key
粘贴公钥内容 → 保存
4️⃣ 测试 SSH 连接
1 | ssh -T git@github.com |
- 成功提示:
1 | Hi yourname! You've successfully authenticated... |
- 失败提示:检查 key 是否添加正确,或者 ssh-agent 是否启动。
5️⃣ 配置 Hexo _config.yml
编辑 Hexo 根目录下 _config.yml
:
1 | deploy: |
⚠️ 替换
yourname
为 GitHub 用户名,分支一般是main
。
6️⃣ 确保 SSH key 被管理
启动 SSH agent 并添加 key(Windows PowerShell):
1 | eval $(ssh-agent -s) |
macOS / Linux 同样适用。
7️⃣ 部署到 GitHub
在 Hexo 项目目录执行:
1 | hexo clean |
hexo clean
:清理缓存hexo g
:生成静态文件hexo d
:部署到 GitHub
8️⃣ 注意事项
- 如果报错
Permission denied (publickey)
:- 检查 SSH key 是否生成并添加到 GitHub
- 检查
_config.yml
repo 地址是否正确 - 检查 ssh-agent 是否加载了正确的 key
- 如果使用多个 GitHub 账号,可在
~/.ssh/config
指定:
1 | Host github.com |
9️⃣ 可选:HTTPS + Token
如果不想用 SSH,可用 HTTPS + GitHub Token:
1 | deploy: |
<TOKEN>
在 GitHub → Developer settings → Personal Access Tokens 生成