remote: Support for password authentication was removed on August 13, 2021.
問題描述
這是什么情況,大概意思就是你原先的密碼憑證從 2021 年 8 月 13 日開始就不能用了,必須使用個(gè)人訪問令牌(personal access token),就是把你的密碼替換成 token!
token 的好處
近年來(lái),GitHub 客戶受益于 GitHub.com 的許多安全增強(qiáng)功能,例如雙因素身份驗(yàn)證、登錄警報(bào)、經(jīng)過驗(yàn)證的設(shè)備、防止使用泄露密碼和 WebAuthn 支持。 這些功能使攻擊者更難獲取在多個(gè)網(wǎng)站上重復(fù)使用的密碼并使用它來(lái)嘗試訪問您的 GitHub 帳戶。 盡管有這些改進(jìn),但由于歷史原因,未啟用雙因素身份驗(yàn)證的客戶仍能夠僅使用其 GitHub 用戶名和密碼繼續(xù)對(duì) Git 和 API 操作進(jìn)行身份驗(yàn)證。
從 2021 年 8 月 13 日開始,我們將在對(duì) Git 操作進(jìn)行身份驗(yàn)證時(shí)不再接受帳戶密碼,并將要求使用基于令牌(token)的身份驗(yàn)證,例如個(gè)人訪問令牌(針對(duì)開發(fā)人員)或 OAuth 或 GitHub 應(yīng)用程序安裝令牌(針對(duì)集成商) GitHub.com 上所有經(jīng)過身份驗(yàn)證的 Git 操作。 您也可以繼續(xù)在您喜歡的地方使用 SSH 密鑰(如果你要使用 ssh 密鑰可以參考)。
令牌(token)與基于密碼的身份驗(yàn)證相比,令牌提供了許多安全優(yōu)勢(shì):
- 唯一: 令牌特定于 GitHub,可以按使用或按設(shè)備生成
- 可撤銷:可以隨時(shí)單獨(dú)撤銷令牌,而無(wú)需更新未受影響的憑據(jù)
- 有限 : 令牌可以縮小范圍以僅允許用例所需的訪問
- 隨機(jī):令牌不需要記住或定期輸入的更簡(jiǎn)單密碼可能會(huì)受到的字典類型或蠻力嘗試的影響
如何解決?
- 在個(gè)人設(shè)置頁(yè)面,找到
Setting
- 選擇開發(fā)者設(shè)置
Developer setting
- 選擇個(gè)人訪問令牌
Personal access tokens
,然后選中生成令牌Generate new token
- 設(shè)置 token 的有效期,訪問權(quán)限等
- 選擇要授予此令牌 token 的范圍或權(quán)限。
- 要使用 token 從命令行訪問倉(cāng)庫(kù),請(qǐng)選擇
repo
。 - 要使用 token 從命令行刪除倉(cāng)庫(kù),請(qǐng)選擇
delete_repo
- 其他根據(jù)需要進(jìn)行勾選
- 生成令牌
Generate token
注意:記得把你的 token 保存下來(lái),因?yàn)槟阍俅嗡⑿戮W(wǎng)頁(yè)的時(shí)候,你已經(jīng)沒有辦法看到它了,所以我還沒有徹底搞清楚這個(gè) token 的使用,后續(xù)還會(huì)繼續(xù)探索!
- 之后用自己生成的 token 登錄,把上面生成的 token 粘貼到輸入密碼的位置,然后成功 push 代碼!
也可以 把 token 直接添加遠(yuǎn)程倉(cāng)庫(kù)鏈接中,這樣就可以避免同一個(gè)倉(cāng)庫(kù)每次提交代碼都要輸入 token 了:
$ git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
-
<your_token>
:換成你自己得到的 token -
<USERNAME>
:是你自己 github 的用戶名 -
<REPO>
:是你的倉(cāng)庫(kù)名稱
原文鏈接:github 開發(fā)人員在七夕搞事情:remote: Support for password authentication was removed on August 13, 2021.