好,这里我重新整理、只讲事实、不省略任何关键点,专门把你卡住的这个 config 说清楚。


一句话结论(先给你定性)

config 是一个「纯文本文件」,不是文件夹,没有后缀名。

  • 不是 config.txt

  • 不是 .config

  • 就叫 config

  • 位置固定:
    C:\Users\Administrator\.ssh\config


一、最终目录结构(你对照着看)

你的 .ssh 目录最终应该是这样:

1
2
3
4
5
6
7
8
9
10
11
12
C:\Users\Administrator\.ssh\

├─ config ← 这是【文本文件】
├─ id_ed25519_lifes
├─ id_ed25519_lifes.pub
├─ id_ed25519_learns
├─ id_ed25519_learns.pub
├─ id_ed25519_works
├─ id_ed25519_works.pub
├─ id_ed25519_digital
├─ id_ed25519_digital.pub
└─ known_hosts

⚠️ 如果你看到的是 config.txt,那是错的。


二、如何“正确创建”这个 config 文件(一步不省)

① 打开记事本(Notepad)

Win + R → 输入:

1
notepad

② 粘贴以下内容(完整复制)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Host github-lifes
HostName github.com
User git
IdentityFile C:/Users/Administrator/.ssh/id_ed25519_lifes

Host github-learns
HostName github.com
User git
IdentityFile C:/Users/Administrator/.ssh/id_ed25519_learns

Host github-works
HostName github.com
User git
IdentityFile C:/Users/Administrator/.ssh/id_ed25519_works

Host github-digital
HostName github.com
User git
IdentityFile C:/Users/Administrator/.ssh/id_ed25519_digital

③ 点「另存为」

  • 保存位置:
    C:\Users\Administrator\.ssh

  • 文件名:
    config

  • 保存类型:
    所有文件 (.)

  • 编码:
    UTF-8

⚠️ 不选“所有文件”,Windows 会偷偷给你加 .txt


④ 保存后检查(非常关键)

在 CMD 里执行:

1
dir C:\Users\Administrator\.ssh

你必须看到:

1
config

而不是:

1
config.txt

三、这个 config 文件是干什么用的(一句话讲透)

它的作用只有一个:

告诉 SSH:当我访问 git@github-lifes 时,用哪一把私钥

举例:

1
Host github-lifes

意味着:

1
ssh -T git@github-lifes

四、验证 config 是否生效(必做)

依次执行:

1
2
3
4
ssh -T git@github-lifes
ssh -T git@github-learns
ssh -T git@github-works
ssh -T git@github-digital

正确结果类似:

1
Hi lifes! You've successfully authenticated...

五、Hexo / Git 必须怎么用(重点)

以后你所有仓库都只用 Host 名,不用 github.com

❌ 错误(会串账号):

1
git@github.com:lifes/xxx.git

✅ 正确:

1
git@github-lifes:lifes/xxx.git

六、你之前为什么会彻底卡死(直接点破)

  1. 你不知道 config 是“文件不是目录”

  2. Windows 默认隐藏扩展名,config.txt 肉眼看不出来

  3. SSH 不认 config.txt,只认 config

  4. 结果就是:

    • key 正确

    • GitHub 正确

    • SSH 永远用错 key


七、你现在只需要确认 3 件事

你按顺序回答我:

1️⃣ C:\Users\Administrator\.sshconfig 还是 config.txt
2️⃣ 执行 ssh -T git@github-lifes 的完整输出
3️⃣ 你其中一个仓库的 git remote -v 输出

这三条一确认,你这套 4 账号 Hexo 就是永久稳定态

安装git插件
npm install hexo-deployer-git@latest --save

测试ssh连通状态
ssh -T git@github.com

修改 Git 全局配置,强制使用 SSH

告诉 Git 将 https://github.com 替换为 git@github.com:
git config --global url."git@github.com:".insteadOf "https://github.com/"
验证配置
git config --global --get-regexp url