前一陣子試著要把電腦上的 git 專案 push 到 GitHub 上,結果一直跳出 ssh 金鑰(ssh key)「無法驗證」之類的訊息。這邊的使用環境是 Windows 10 + TortoiseGit,二者都更新到最新的版本了(2018 年七月)。
簡述一下過程。一開始先用 TortoiseGit 隨附的 PuTTY Key Generator 產生 ssh 的公鑰與私鑰。私鑰留在電腦上自己保管,公鑰則放到 GitHub 個人設定裡的 ssh 金鑰管理頁面中。

以 TortoiseGit 來說,把 ssh 私鑰儲存成 .ppk 的格式最簡單。之後把 .ppk 的路徑設定到 TortoiseGit » Settings » Git » Remote 頁面的 PuTTY key 欄位,之後進行遠端操作時,即會自動載入私鑰進行驗證。

然後就發生類似下面的錯誤訊息:
fatal: HttpRequestException encountered. An error occurred while sending the request. remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/username/reponame.git/'
解法方法可以參考這裡:https://github.com/Microsoft/Git-Credential-Manager-for-Windows。
根據 GitHub 官方的這篇文章,GitHub 從 2018 年二月開始就不支援較舊的憑證技術,因此只要更新至 GitHub 支援的版本即可。最簡單的解法方式就是將 Git for Windows 更新至最新的 v2.16.0 版,連帶的憑證技術也會一併更新。
若不想大動干戈,也可以只單獨更新 Git 憑證管理器。到 Microsoft/Git-Credential-Manager-for-Windows 下載最新的 GCMW-x.xx.x.exe 安裝檔並更新即可。
發表迴響