2021.8.13起,Github要求使用基于令牌的身份驗證
緣起
昨天晚上提交代碼到GitHub時遇到了這個錯誤。
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
字面大體意思就是你原先的密碼憑證從2021年8月13日開始就不能用了,必須使用個人訪問令牌(personal access token),就是把你的密碼替換成token!
之前,聽說過有這種機制,GitHub經(jīng)常也發(fā)郵箱提示說要換成這種機制。我當(dāng)時懶得搞,就一直用的密碼登錄,這次搞了個措手不及。
動機
以下是GitHub官方修改為token機制的動機:
我們描述了我們的動機,因為我們宣布了對 API 身份驗證的類似更改。
近年來,GitHub 客戶受益于 GitHub.com 的許多安全增強功能,例如雙因素身份驗證、登錄警報、經(jīng)過驗證的設(shè)備、防止使用泄露密碼和 WebAuthn 支持。這些功能使攻擊者更難獲取在多個網(wǎng)站上重復(fù)使用的密碼并使用它來嘗試訪問您的 GitHub 帳戶。盡管有這些改進,但由于歷史原因,未啟用雙因素身份驗證的客戶仍能夠僅使用其GitHub 用戶名和密碼繼續(xù)對 Git 和 API 操作進行身份驗證。
從 2021 年 8 月 13 日開始,我們將在對 Git 操作進行身份驗證時不再接受帳戶密碼,并將要求使用基于令牌(token)的身份驗證,例如個人訪問令牌(針對開發(fā)人員)或 OAuth 或 GitHub 應(yīng)用程序安裝令牌(針對集成商) GitHub.com 上所有經(jīng)過身份驗證的 Git 操作。您也可以繼續(xù)在您喜歡的地方使用 SSH 密鑰。
好處
令牌(token)與基于密碼的身份驗證相比,令牌提供了許多安全優(yōu)勢:
唯一性:令牌特定于 GitHub,可以按使用或按設(shè)備生成。
可撤銷:可以隨時單獨撤銷令牌,而無需更新未受影響的憑據(jù)。
有限性:令牌可以縮小范圍以僅允許用例所需的訪問。
隨機性:令牌不需要記住或定期輸入的更簡單密碼可能會受到的字典類型或蠻力嘗試的影響。
措施
第一步
訪問Github官網(wǎng)然后登錄自己的Github賬號。再右上角點擊頭像,在下拉菜單上找到Setting這個選項,然后點擊它。
如下圖:

第二步
然后再點擊左側(cè)欄的Developer settings選項。

第三步
點擊左側(cè)欄上的Personal access tokens選項,出現(xiàn)如下圖所示:

然后,點擊右上角的Generate new token按鈕。
第四步
驗證信息。

第五步
如下圖所示,進入設(shè)置頁面。
Note
驗證token的標(biāo)題(別名),你可以起一個好記的名稱。
Expiration
驗證token有效期限(必填項)。默認30天。
Select scopes
選擇要授予此令牌token的范圍或權(quán)限。要使用token從命令行訪問倉庫,請選擇repo。要使用token從命令行刪除倉庫,請選擇delete_repo。其他根據(jù)需要進行勾選。
最后,點擊Generate token按鈕。

第六步
如下圖所示,生成令牌Token 成功。

需要注意的是,請復(fù)制下來保存好, 之后,因為你再次刷新網(wǎng)頁的時候,你已經(jīng)沒有辦法看到它了。

第七步
有兩種方式。
之后用自己生成的token登錄,把上面生成的token粘貼到輸入密碼的位置。
如果 push 等操作沒有出現(xiàn)輸入密碼選項,請先輸入如下命令,之后就可以看到輸入密碼選項了。
git config --system --unset credential.helper
把token直接添加遠程倉庫鏈接中,這樣就可以避免同一個倉庫每次提交代碼都要輸入token了:
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
<your_token>:換成你自己得到的token<USERNAME>:是你自己github的用戶名<REPO>:是你的倉庫名稱
不舍
謝謝閱讀,希望能夠幫到你!
關(guān)于
作者:Vam的金豆之路。
曾獲得2019年CSDN年度博客之星,CSDN博客訪問量已達到數(shù)百萬。掘金博客文章多次推送到首頁,總訪問量已達到數(shù)十萬。
另外,我的公眾號:前端歷劫之路,公眾號持續(xù)更新最新前端技術(shù)及相關(guān)技術(shù)文章。歡迎關(guān)注我的公眾號,讓我們一起在前端道路上歷劫吧!Go!

