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

Ubuntu 20.04系统下如何删除VS Code缓存的GitHub密码以解决Git认证失败问题

解决方案(Ubuntu 20.04环境)

前置检查

先分别在系统终端和VS Code终端执行以下命令,确认输出完全一致:

  • 查看Git用户名:git config --global user.name
  • 查看Git绑定邮箱:git config --global user.email
  • 查看仓库远程地址:git remote -v
    如果输出不一致,先在VS Code终端执行对应配置命令修正后再尝试后续操作。

问题根因说明

该问题是Ubuntu环境下VS Code终端与系统终端的权限/环境隔离导致的,Windows/Mac的凭证管理逻辑和Ubuntu差异较大,所以通用方案无效。

步骤1:排查VS Code安装渠道问题

Ubuntu软件商店默认安装的VS Code是Snap沙箱版本,默认没有权限访问系统密钥环,是该场景下的最高发问题:

  1. 打开系统终端,执行以下命令给Snap版VS Code授权访问密码管理器:
    sudo snap connect code:password-manager-service
  2. 重启VS Code后再测试Git操作即可。
    如果上述操作无效,建议直接卸载Snap版VS Code,从微软官方下载Deb安装包重装,可彻底规避沙箱权限限制。

步骤2:统一Git凭证助手配置

如果你的VS Code是官方Deb版本,可通过配置Git凭证存储方式解决:

  1. 先安装libsecret依赖包:
    sudo apt update && sudo apt install libsecret-1-0 libsecret-1-dev -y
  2. 编译Git自带的libsecret凭证助手:
    sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret
  3. 全局配置Git使用该凭证助手:
    git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
  4. 重启VS Code后再次执行Git操作,输入一次GitHub账号密码/PAT后就会自动存储到系统密钥环,后续无需重复输入。

步骤3:可选兜底方案(切换SSH协议)

如果上述方案都不生效,可直接将仓库远程地址从HTTPS切换为SSH协议,完全规避凭证认证问题:

  1. 先在本地生成SSH密钥对(如果已有可跳过):
    ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱"
  2. 把生成的~/.ssh/id_ed25519.pub文件内容复制到GitHub账号的SSH密钥设置中。
  3. 进入本地仓库目录,修改远程地址为SSH格式:
    git remote set-url origin git@github.com:GitHub用户名/仓库名.git
  4. 重启VS Code后即可正常执行push/pull操作。

附加检查项

如果仍有问题,可确认VS Code的terminal.integrated.inheritEnv配置项为开启状态:

  1. 打开VS Code设置(快捷键Ctrl+,)
  2. 搜索terminal.integrated.inheritEnv,勾选对应选项,确保集成终端继承系统环境变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:36:02