Ubuntu 20.04环境下向Github推送代码提示身份验证失败求助
解决方案
这个报错是因为GitHub已停止支持HTTPS方式下的账号密码验证,你可以从两种方案中选一种解决:
方案1:使用个人访问令牌(PAT)替代密码
- 登录GitHub账号,进入「设置」-「开发者设置」-「个人访问令牌」页面,生成新令牌
- 按需选择令牌权限(推送代码至少要勾选
repo权限),设置合适的过期时间,生成后复制令牌内容(仅显示一次,务必保存好) - 可以选择两种使用方式:
- 单次使用:下次执行
git push时,密码输入栏直接粘贴生成的PAT即可完成验证 - 永久保存凭证:先执行
git config --global credential.helper store,再执行一次推送,用户名输入你的GitHub用户名,密码输入PAT,后续操作就不需要重复输入验证信息
- 单次使用:下次执行
- 额外操作建议:你当前Git全局配置里保存了明文
user.password,存在安全风险,建议执行git config --global --unset user.password删除该配置
方案2:改用SSH密钥验证(更安全便捷,无需反复输入验证信息)
- 本地生成SSH密钥:执行
ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱",全程按回车即可(不需要设置密钥密码的话无需输入内容) - 复制公钥内容:执行
cat ~/.ssh/id_ed25519.pub,将输出的全部内容复制 - 登录GitHub账号,进入「设置」-「SSH和GPG密钥」页面,新增SSH密钥,将复制的公钥内容粘贴后保存
- 切换本地仓库的远程地址为SSH格式:进入你的项目目录,执行
git remote set-url origin git@github.com:imdadulhaque1/LearningOpenCV_with_Projects.git - 测试连接:执行
ssh -T git@github.com,返回包含你GitHub用户名的提示即为配置成功,后续拉取、推送代码都不需要再输入验证信息
内容的提问来源于stack exchange,提问作者Imdadul Haque
相关产品推荐
相关产品推荐

