摘要:Windows 機器 Claude Code plugin 從 GitHub 安裝排錯 SOP

一句話總結(< 30 字):Windows 舊 OpenSSH 撞 GitHub 新 KEX 算法,用 git insteadOf 改寫 SSH→HTTPS 繞過整段。

重點

  1. 故障鏈兩道牆:牆 1 = SSH host key verification failed(known_hosts 缺 github.com 指紋,且 ssh-keyscan 因算法不符也拿不到);牆 2 = Permission denied (publickey)。
  2. 步驟 1:從 GitHub 官方 meta API(api.github.com/meta)撈 ssh_keys 寫入 known_hosts,並對照官方 fingerprint 驗證。
  3. 步驟 2:git config --global url."https://github.com/".insteadOf "git@github.com:" 把 SSH URL 全域改寫成 HTTPS,直接繞過 SSH。
  4. 副作用:insteadOf 影響全域,所有 GitHub 操作走 HTTPS;私有 repo push 需 PAT token;復原用 --unset。
  5. 根本原因:Windows 舊 OpenSSH 不支援 GitHub 用的 sntrup761x25519-sha512 KEX;根本解是升級 OpenSSH 9.x / PowerShell 7 內建版。

關鍵術語

  • git insteadOf:URL 改寫規則,把某前綴 URL 透明替換為另一種協定
  • known_hosts:SSH 已信任主機指紋清單
  • KEX(Key Exchange)算法:SSH 連線協商時的金鑰交換演算法
  • PAT(Personal Access Token):GitHub HTTPS 認證用權杖,取代密碼

與既有 wiki 的關聯

既有概念此文補充了什麼
Claude Code 五層架構補足 Plugin(L5)在 Windows 實機安裝時的排錯路徑

新增候選

此文中可能值得獨立成篇的新概念:

  • Windows Claude Code GitHub SSH 排錯(已編譯)

原文來源