github 配置使用 personal access token 認證

一. 問題描述

使用如下命令推送代碼到 github

git push origin main

根據提示輸入用戶名和密碼,報如下錯誤:

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.

根據提示信息可以知道,github2021.8.13 移除了密碼認證的支持,它建議使用 personal access token 代替密碼認證。由于提示中給出的地址無法訪問,所以查閱相關文檔,下面主要記錄一下如何解決這個問題。

二. 解決方法

github docs 文檔中描述說,在使用命令行或API的時候,應該創建一個個人訪問令牌(personal access token)來代替密碼,下面詳細介紹如何創建 personal access token

創建 personal access token

  1. 登錄 github
  2. 在頁面右上角點擊你的頭像,然后點擊 Settings
    image.png
  3. 在左側邊欄中,點擊開發人員設置:


    image.png
  4. 在左側邊欄中,單擊個人訪問令牌:


    image.png
  5. 單擊生成新令牌:


    image.png
  6. 為您的令牌指定一個描述性名稱:


    image.png
  7. 要讓您的令牌到期,請選擇到期下拉菜單,然后單擊默認值或使用日歷選擇器:


    image.png
  8. 選擇您要授予此令牌的范圍或權限。要使用您的令牌從命令行訪問存儲庫,請選擇repo:


    image.png
  9. 單擊生成令牌:


    image.png

    image.png

警告:將您的令牌視為密碼并保密。使用 API 時,將令牌用作環境變量,而不是將它們硬編碼到您的程序中。

在命令行上面使用令牌

獲得令牌后,您可以在通過 HTTPS 執行 Git 操作時輸入它而不是密碼。

例如,在命令行中輸入以下內容:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

個人訪問令牌只能用于 HTTPS Git 操作。如果您的存儲庫使用 SSH 遠程 URL,則需要將遠程從 SSH 切換到 HTTPS

如果系統未提示您輸入用戶名和密碼,則您的憑據可能已緩存在您的計算機上。您可以更新鑰匙串中的憑據以使用令牌替換舊密碼。

在 windows 中配置github 憑據

使用 https 的方式拉取或者推送代碼,每次都需要手動輸入用戶名和 personal access token,為了方便,可以使用 windows 中的憑據管理器保存相關配置,如下圖所示:

image.png

如果 github 的憑據已經存在,原來保存的是用戶名和密碼,需要將原來的密碼修改為 personal access token,通常情況下,我們登錄過 github 后就會在這里保存相關的憑據,如果沒有可用手動創建,如下圖所示:
image.png

參考文檔:
https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容