1 問題描述
如果你在七夕(沒錯就是2021年8月14日)的這一天剛好加班,又剛好去訪問了全球最大的同性交友網站,又剛好去更新提交代碼,又或你創建了一個新的倉庫送給自己,又剛好想把這個倉庫送給(push)github,你就剛好會遇到這個問題:remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
具體如下:
(yolov4) shl@zhihui-mint:~/shl_res/5_new_project/Yolov4_DeepSocial$ git push origin master
Username for 'https://github.com': shliang0603
Password for 'https://shliang0603@github.com':
remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: unable to access 'https://github.com/shliang0603/Yolov4_DeepSocial.git/': The requested URL returned error: 403
(yolov4) shl@zhihui-mint:~/shl_res/5_new_project/Yolov4_DeepSocial$
納尼?老夫就是許久沒有建倉,這是什么情況,大概意思就是你原先的密碼憑證從2021年8月13日開始就不能用了,必須使用個人訪問令牌(personal access token),就是把你的密碼替換成token!
2 github為什么要把密碼換成token
github官方解釋
1、修改為token的動機
我們描述了我們的動機,因為我們宣布了對 API 身份驗證的類似更改,如下所示:
近年來,GitHub 客戶受益于 GitHub.com 的許多安全增強功能,例如雙因素身份驗證、登錄警報、經過驗證的設備、防止使用泄露密碼和 WebAuthn 支持, 這些功能使攻擊者更難獲取在多個網站上重復使用的密碼并使用它來嘗試訪問您的 GitHub 帳戶, 盡管有這些改進,但由于歷史原因,未啟用雙因素身份驗證的客戶仍能夠僅使用其GitHub 用戶名和密碼繼續對 Git 和 API 操作進行身份驗證,
從 2021 年 8 月 13 日開始,我們將在對 Git 操作進行身份驗證時不再接受帳戶密碼,并將要求使用基于令牌(token)的身份驗證,例如個人訪問令牌(針對開發人員)或 OAuth 或 GitHub 應用程式安裝令牌(針對集成商) GitHub.com 上所有經過身份驗證的 Git 操作, 您也可以繼續在您喜歡的地方使用 SSH 密鑰(如果你要使用ssh密鑰可以參考),
2、修改為token的好處
令牌(token)與基于密碼的身份驗證相比,令牌提供了許多安全優勢:
-
唯一: 令牌特定于 GitHub,可以按使用或按設備生成 -
可撤銷:可以隨時單獨撤銷令牌,而無需更新未受影響的憑據 -
有限: 令牌可以縮小范圍以僅允許用例所需的訪問 -
隨機:令牌不需要記住或定期輸入的更簡單密碼可能會受到的字典型別或蠻力嘗試的影響
3 如何生成自己的token
1、在個人設定頁面,找到Setting(參考)

2、選擇開發者設定Developer setting

3、選擇個人訪問令牌Personal access tokens,然后選中生成令牌Generate new token

4、設定token的有效期,訪問權限等
選擇要授予此令牌token的范圍或權限,
- 要使用
token從命令列訪問倉庫,請選擇repo, - 要使用
token從命令列洗掉倉庫,請選擇delete_repo - 其他根據需要進行勾選

5、生成令牌Generate token

如下是生成的token
注意:
記得把你的token保存下來,因為你再次重繪網頁的時候,你已經沒有辦法看到它了,所以我還沒有徹底搞清楚這個token的使用,后續還會繼續探索!

6、之后用自己生成的token登錄,把上面生成的token粘貼到輸入密碼的位置,然后成功push代碼!

也可以 把token直接添加遠程倉庫鏈接中,這樣就可以避免同一個倉庫每次提交代碼都要輸入token了:
git remote set-url origin https://<your_token>@github.com/<USERNAME>/<REPO>.git
<your_token>:換成你自己得到的token<USERNAME>:是你自己github的用戶名<REPO>:是你的倉庫名稱
例如:
git remote set-url origin https://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@github.com/shliang0603/Yolov4_DeepSocial.git/
果然,全球最大的同性交流網站不是吹得,它要過七夕誰也攔不住呀!,大家把yyds打在評論區好吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/294517.html
標籤:其他
上一篇:關于陣列指標傳參設計的總結
