Ubuntu20.04下VSCode集成终端Git推拉提示认证失败如何解决
解决方案
配置Git凭据存储(解决普通终端每次需要输入账号、token的问题)
- 先根据自己的需求选择凭据存储模式,在系统终端执行对应命令:
临时缓存凭据(默认缓存15分钟):git config --global credential.helper cache
永久存储凭据(凭据明文存在用户目录的.git-credentials文件中,仅适合个人自用设备):git config --global credential.helper store - 配置完成后在系统终端执行一次
git pull/git push,输入一次GitHub用户名和token,后续系统终端操作就不需要重复输入了。
修复VSCode集成终端认证失效问题
VSCode集成终端出现认证报错,通常是因为终端加载的Shell配置和系统终端不一致,没有读取到Git全局配置,按以下步骤排查:
- 打开VSCode集成终端,执行
git config --global --get credential.helper,如果输出为空就说明没有加载到Git配置:- 先在系统终端执行
echo $SHELL,确认你常用的Shell路径,比如bash对应/bin/bash、zsh对应/usr/bin/zsh - 打开VSCode设置,搜索
terminal.integrated.shell.linux,把Linux终端的默认Shell路径设置为和上一步查到的路径一致 - 重启VSCode后再次执行Git推拉操作验证是否恢复正常。
- 先在系统终端执行
可选:更换为SSH协议连接GitHub
如果不想用HTTPS协议的凭据存储方案,可以直接换成SSH协议,不需要额外处理token相关配置:
- 本地生成SSH密钥对:
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱",全程按回车使用默认配置即可 - 执行
cat ~/.ssh/id_ed25519.pub,复制输出的公钥内容,打开GitHub设置页的「SSH and GPG keys」栏目,新增密钥并把复制的内容粘贴保存 - 进入本地仓库目录,修改远程仓库地址为SSH格式:
git remote set-url origin git@github.com:<你的GitHub用户名>/<仓库名>.git - 配置完成后不管是系统终端还是VSCode集成终端,执行Git操作都不需要再输入账号、token。
额外排查项
如果操作完以上步骤还是报错,先在仓库目录执行git remote -v,检查输出的远程仓库地址拼写、用户名大小写是否正确,如果地址有误可以用git remote set-url origin 正确的仓库地址修正。
内容的提问来源于stack exchange,提问作者Sariful
相关产品推荐
相关产品推荐

