Git 沒辦法透過 ssh 金鑰與 GitHub 連線的解法

前一陣子試著要把電腦上的 git 專案 push 到 GitHub 上,結果一直跳出 ssh 金鑰(ssh key)「無法驗證」之類的訊息。這邊的使用環境是 Windows 10 + TortoiseGit,二者都更新到最新的版本了(2018 年七月)。

簡述一下過程。一開始先用 TortoiseGit 隨附的 PuTTY Key Generator 產生 ssh 的公鑰與私鑰。私鑰留在電腦上自己保管,公鑰則放到 GitHub 個人設定裡的 ssh 金鑰管理頁面中。

key1.png
PuTTY Key Generator 介面

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

key2-2.png
TortoiseGit 的遠端設定介面

然後就發生類似下面的錯誤訊息:

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 安裝檔並更新即可。

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s