我們的 codebase 有用到放在 GitHub private repo 的 Swift package,為了讓 Xcode 能夠存取 private repo,必須讓 Xcode 認得 SSH key 才行。
因為 Xcode 只支援 RSA / DSA / ECDSA 這三種演算法的 SSH key,但 GitHub 不支援 RSA 跟 DSA 了,所以我們只剩下 ECDSA 可以用。
如果當時按照 GitHub 的文件建立 SSH key,它很有可能是 ED25519,這個演算法 Xcode 認不得,所以我們要新增一個新的 SSH key。
修改 SSH Key
新增 SSH key 的方法可以參考 GitHub 的文件,唯二要修改的地方是
- 把
ssh-keygen -t ed25519 -C "your_email@example.com"
改成ssh-keygen -t ecdsa -b 521 -C "your_email@example.com"
- 把
id_ed25519
改成id_ecdsa
然後參考另一份 GitHub 文件,把 SSH key 加到你的 GitHub account。
Xcode 新增 GitHub account
從 Xcode Preference -> Accounts
新增一個 GitHub account,
- Account 就是登入 GitHub 的信箱
- Token 從 GitHub Settings 建立,記得 Xcode 需要的權限都要打勾,然後設為永不過期
建立帳號之後,記得把 SSH Key 設為剛剛建立的 ECDSA。這樣就完成啦。