![[Pasted image 20260101153127.png]]

下面是完整 SSH 方案整理好的 Markdown(.md)文档内容


Hexo 多站点部署 —— SSH Key 方案(长期稳定版)

适用场景:

  • 同一 GitHub 账号下部署多个 Hexo(如 4 个)
  • 经常重装 / 切换操作系统
  • 不希望反复输入 Token 或密码
  • 追求一次配置、长期无感部署

一、核心结论(必读)

  1. 一个 SSH Key 即可部署多个 Hexo / 多个仓库
  2. 公钥只需上传一次到 GitHub 账号
  3. 私钥只保存在本机,永远不上传
  4. 换系统时,只要私钥还在,无需重新配置 GitHub

二、SSH Key 的基本原理

本机
├── 私钥 id_ed25519 (绝密,只在你电脑)
└── 公钥 id_ed25519.pub (可公开)

GitHub
└── 账号 → SSH Keys
└── 公钥

当执行 hexo d 时:

  • Git 使用本机私钥发起 SSH 认证
  • GitHub 使用已保存的公钥进行验证
  • 验证通过 → 允许推送仓库

私钥永不离开你的电脑。


三、生成 SSH Key(只需一次)

1
2
3
4
5
6
7
8
9
10
11
12
ssh-keygen -t ed25519 -C "yourname@github"
````

全部直接回车即可:

- 文件路径:`~/.ssh/id_ed25519`

- 密码:可不设置(Hexo 自动部署更方便)


生成结果:

~/.ssh/id_ed25519 (私钥)
~/.ssh/id_ed25519.pub (公钥)

1
2
3
4
5
6
7
8
9

---

## 四、将公钥添加到 GitHub(只做一次)

### 1. 查看公钥内容

```bash
cat ~/.ssh/id_ed25519.pub

复制整行内容(以 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
2
3
4
deploy:
type: git
repo: git@github.com:yourname/仓库名.git
branch: main

示例(4 个 Hexo):

Hexo 项目 仓库
主站 yourname.github.io
博客 blog
文档 docs
备用站 site2

全部共用同一 SSH Key。


七、部署命令

1
2
3
hexo clean
hexo g
hexo d
  • 不再输入账号

  • 不再使用 Token

  • 不弹浏览器

  • 稳定可靠


八、私钥与公钥的保存策略(重要)

1️⃣ 必须保存:私钥

文件:

1
~/.ssh/id_ed25519

私钥是你的“身份本体”,丢失后只能重新生成 Key。

2️⃣ 公钥可不单独保存

  • 可由私钥重新生成

  • 无安全风险

重新生成公钥命令:

1
ssh-keygen -y -f id_ed25519 > id_ed25519.pub

九、换操作系统后的恢复流程(1 分钟)

  1. 将备份的 id_ed25519 拷回:

    1
    ~/.ssh/id_ed25519
  2. 设置权限(Linux / macOS):

    1
    chmod 600 ~/.ssh/id_ed25519
  3. 测试:

    1
    ssh -T git@github.com

无需重新配置 GitHub。


十、安全注意事项(必须遵守)

❌ 私钥禁止:

  • 上传 GitHub

  • 上传网盘明文

  • 放进公开仓库

  • 发给他人

✔ 推荐:

  • 加密压缩备份

  • U 盘 / 私人云盘

  • 离线保存一份


十一、什么时候需要多个 SSH Key?

仅在以下场景:

  • 多个 GitHub 账号

  • 公司 / 个人隔离

  • 安全策略要求

否则:

一个 Key 是最优解。


十二、终极总结

私钥在手,系统随便换
一次配置,Hexo 永久无感部署