如何修复GitHub推送提交时出现的Error 403认证失败问题
如何修复GitHub推送提交时出现的Error 403认证失败问题
嗨,我之前也碰到过完全一样的问题!你看到的错误提示其实已经把原因说透了:
remote: Support for password authentication was removed on August 13, 2021.
GitHub早在2021年8月就停用了HTTPS方式下的密码认证,所以你再用账号密码去推送肯定会失败。下面给你两种亲测有效的解决办法:
方法一:使用个人访问令牌(PAT)替代密码
- 第一步先生成个人访问令牌:登录你的GitHub账号,进入设置里的「Developer settings」,选择「Personal access tokens」,生成一个带有
repo权限的令牌(一定要保存好,生成后就没法再查看了)。 - 之后再执行推送操作:
- 先完成提交:
git commit -m "my commit" file - 执行推送:
git push -u origin main - 当提示输入
Username for 'https://github.com'时,输入你的GitHub用户名(比如ManuelaCarriero) - 提示输入
Password时,直接填入刚才生成的个人访问令牌,而不是你的GitHub账号密码
- 先完成提交:
- 如果你不想每次推送都输入令牌,可以直接把令牌嵌入到远程仓库的URL里,一次性配置好:
配置完成后,后续再执行git remote set-url origin https://<你的GitHub用户名>:<你的个人访问令牌>@github.com/ManuelaCarriero/NeuPipelinesgit push就不用再输入认证信息了。
方法二:改用SSH协议推送(更省心的长期方案)
如果觉得令牌还是麻烦,推荐改用SSH协议,配置一次之后几乎不用再管认证问题:
- 第一步在本地生成SSH密钥对:打开终端执行命令
一路按回车默认配置就行,不用设置密码(当然也可以根据自己需求设置)。ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 把生成的公钥添加到GitHub账号:找到本地生成的公钥文件(一般在
~/.ssh/id_ed25519.pub),复制里面的全部内容,然后登录GitHub,进入设置里的「SSH and GPG keys」,添加一个新的SSH密钥,把复制的内容粘贴进去保存。 - 修改远程仓库的URL为SSH格式:
之后再执行git remote set-url origin git@github.com:ManuelaCarriero/NeuPipelines.gitgit push -u origin main就能直接推送,不需要再输入任何认证信息了。
备注:内容来源于stack exchange,提问作者LearningAlgorithm




