設定GitLab授權,解決 HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled

by NickChi
setup-gitlab-access-token-fix-http-basic-access-denied

前情摘要

環境:

Git平台: GitLab
Git Tool : Fork

在使用 Fork 工具從 GitLab 上 Clone 專案時,遇到了以下錯誤訊息:

Git Error
An unexpected error occurred while performing the git request.

Error Details:
remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled.
fatal: Authentication failed for ‘xxxxxxxx’

In a case you entered incorrect password, please update it in Keychain Access application.

解決方式

設定授權步驟

進入 GitLab 設定頁面

  • 點擊右上角的個人頭像,選擇 「編輯個人資料」

設定存取 Token

  • 在左側選單中選擇 「存取憑證」(Access Tokens)。
  • 點擊 「新增令牌」(Create Token)。

選擇合適的權限範圍(Scopes)

  • read_repository:授權對專案儲存庫的只讀權限,例如 Git cloneGit pull
  • write_repository:授權對專案儲存庫的讀寫權限,例如 Git push

步驟解析

  1. 點擊右上角的個人照 => 點擊編輯個人資料

2.點擊左方Menu的存取憑證

3.點擊新增令牌

因為我們要操作Git而已 所以選擇
read_repository:授權您可以對專案儲存庫進行只讀操作,例如 Git clone 或 Git pull。
write_repository:授權您對專案儲存庫進行讀寫操作,例如 Git push。

Scopes 的詳細解釋

  1. api
    權限內容:授予完整的 API 讀寫權限,包括所有群組和專案、容器登錄(container registry)以及套件登錄(package registry)。
    用途:適用於需要對所有資源進行讀寫操作的情況,包含各種專案管理、資源管理等。
  2. read_api
    權限內容:授予 API 的讀取權限,包括所有群組和專案、容器登錄以及套件登錄。
    用途:適用於僅需查詢資源資訊、不涉及寫入操作的情況,例如報表生成、資訊檢視等。
  3. read_user
    權限內容:授予讀取使用者個人資料的權限,透過 /user API 端點取得使用者名稱、公開電子郵件及全名,並授予讀取 /users 下所有只讀 API 端點的權限。
    用途:適用於需要檢視使用者資料的應用程式或服務。
  4. create_runner
    權限內容:授予創建(建立) GitLab Runner 的權限。
    用途:適用於需要自動化部署或建立新的 CI/CD Runner 的情況。
  5. k8s_proxy
    權限內容:授予透過 Kubernetes 代理執行 Kubernetes API 呼叫的權限。
    用途:適用於需要使用 Kubernetes 集群進行管理或部署的情況。
  6. read_repository
    權限內容:授予對私人專案的儲存庫進行只讀操作的權限,包括透過 Git-over-HTTP 或 Repository Files API 存取儲存庫內容。
    用途:適用於只需檢視或下載專案內容的情況,例如備份或檢查程式碼。
  7. write_repository
    權限內容:授予對私人專案儲存庫的讀寫操作權限,僅限透過 Git-over-HTTP(不包括 API 操作)。
    用途:適用於需要修改或提交程式碼的情況,例如程式碼開發或修正錯誤。
  8. ai_features
    權限內容:授予存取 GitLab Duo 相關 API 端點的權限。
    用途:適用於使用 GitLab AI 功能的情況,例如自動化建議或 AI 驅動的開發輔助工具。
  9. sudo
    權限內容:當以管理員身份驗證時,授予以系統中任何使用者身份執行 API 操作的權限。
    用途:適用於需要模擬不同使用者操作,或進行高階管理任務的情況。
  10. admin_mode
    權限內容:當啟用「管理員模式」時,授予以管理員身份執行 API 操作的權限。
    用途:適用於執行管理員專屬操作,例如帳戶管理或系統配置變更。

4. 再將此Toke貼到GitTool之中

You may also like

Leave a Comment