Untitled
![[Pasted image 20260101153127.png]]
下面是完整 SSH 方案整理好的 Markdown(.md)文档内容
Hexo 多站点部署 —— SSH Key 方案(长期稳定版)
适用场景:
- 同一 GitHub 账号下部署多个 Hexo(如 4 个)
- 经常重装 / 切换操作系统
- 不希望反复输入 Token 或密码
- 追求一次配置、长期无感部署
一、核心结论(必读)
- 一个 SSH Key 即可部署多个 Hexo / 多个仓库
- 公钥只需上传一次到 GitHub 账号
- 私钥只保存在本机,永远不上传
- 换系统时,只要私钥还在,无需重新配置 GitHub
二、SSH Key 的基本原理
本机
├── 私钥 id_ed25519 (绝密,只在你电脑)
└── 公钥 id_ed25519.pub (可公开)
GitHub
└── 账号 → SSH Keys
└── 公钥
当执行 hexo d 时:
- Git 使用本机私钥发起 SSH 认证
- GitHub 使用已保存的公钥进行验证
- 验证通过 → 允许推送仓库
私钥永不离开你的电脑。
三、生成 SSH Key(只需一次)
1 | ssh-keygen -t ed25519 -C "yourname@github" |
~/.ssh/id_ed25519 (私钥)
~/.ssh/id_ed25519.pub (公钥)
1 |
|
复制整行内容(以 ssh-ed25519 开头)。
2. GitHub 后台路径
1 | GitHub → Settings → SSH and GPG keys → New SSH key |
填写:
Title:Hexo Deploy
Key Type:Authentication Key
Key:粘贴公钥
保存即可。
⚠ 公钥是绑定 GitHub 账号,不是绑定某个仓库。
五、验证 SSH 是否配置成功(必须)
1 | ssh -T git@github.com |
首次连接输入 yes。
成功提示:
1 | Hi yourname! You've successfully authenticated. |
六、Hexo 中的 deploy 配置(每个项目都要)
_config.yml
1 | deploy: |
示例(4 个 Hexo):
| Hexo 项目 | 仓库 |
|---|---|
| 主站 | yourname.github.io |
| 博客 | blog |
| 文档 | docs |
| 备用站 | site2 |
全部共用同一 SSH Key。
七、部署命令
1 | hexo clean |
不再输入账号
不再使用 Token
不弹浏览器
稳定可靠
八、私钥与公钥的保存策略(重要)
1️⃣ 必须保存:私钥
文件:
1 | ~/.ssh/id_ed25519 |
私钥是你的“身份本体”,丢失后只能重新生成 Key。
2️⃣ 公钥可不单独保存
可由私钥重新生成
无安全风险
重新生成公钥命令:
1 | ssh-keygen -y -f id_ed25519 > id_ed25519.pub |
九、换操作系统后的恢复流程(1 分钟)
将备份的
id_ed25519拷回:1
~/.ssh/id_ed25519
设置权限(Linux / macOS):
1
chmod 600 ~/.ssh/id_ed25519
测试:
1
ssh -T git@github.com
无需重新配置 GitHub。
十、安全注意事项(必须遵守)
❌ 私钥禁止:
上传 GitHub
上传网盘明文
放进公开仓库
发给他人
✔ 推荐:
加密压缩备份
U 盘 / 私人云盘
离线保存一份
十一、什么时候需要多个 SSH Key?
仅在以下场景:
多个 GitHub 账号
公司 / 个人隔离
安全策略要求
否则:
一个 Key 是最优解。
十二、终极总结
私钥在手,系统随便换
一次配置,Hexo 永久无感部署
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 works!
评论
WalineUtterances


