You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

不使用SSH方法解决Git仓库Authentication failed身份验证报错问题

HTTPS 方式解决 Ubuntu 系统 Git 身份验证失败问题

前置检查

首先执行命令确认当前 Git 凭据存储方案:
git config --global credential.helper
Ubuntu 系统默认返回结果通常为 store 或 libsecret,对应不同的清理方案。


方案1:凭据存储为 libsecret(桌面环境默认)

libsecret 对接系统桌面的密钥环,无法直接通过文件删除,按以下步骤操作:

  • 安装密钥环操作工具:
    sudo apt update && sudo apt install libsecret-tools -y
  • 搜索已存储的 Git 凭据,确认要删除的条目:
    secret-tool search service git-credential
  • 清理对应 Git 平台的旧凭据,替换尖括号内容为实际域名(例如github.com、gitee.com):
    secret-tool clear service git-credential host <Git平台域名>

方案2:凭据存储为 store

store 方案会把明文凭据存在本地文件,直接编辑对应文件删除旧条目即可:

  • 打开凭据存储文件:
    nano ~/.git-credentials
  • 找到对应 Git 平台的行,格式为https://<用户名>:<密码/令牌>@<域名>,删除该行后按Ctrl+O保存、Ctrl+X退出。

验证修复

完成旧凭据清理后,按以下步骤验证推送:

  1. 强制使用带用户名的地址推送测试,跳过旧缓存:
    git push https://<你的账号用户名>@<Git平台域名>/<仓库所属空间>/<仓库名>.git
  2. 密码输入栏填写对应平台的个人访问令牌(PAT):目前主流Git平台均已不支持HTTPS方式用账号密码推送,即使未开启2FA也需要在平台后台生成对应权限的PAT作为密码使用。
  3. 如需永久生效,更新本地仓库的远程地址即可:
    git remote set-url origin https://<你的账号用户名>@<Git平台域名>/<仓库所属空间>/<仓库名>.git
    后续推送输入一次PAT后,Git会自动存储到凭据管理器,无需重复输入。

应急临时方案

如果不需要永久修复,仅需单次推送,可以直接临时禁用凭据助手,强制要求输入身份信息:
git -c credential.helper= push origin <分支名>


内容的提问来源于stack exchange,提问作者mrhrifat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:06:07