首次执行git push -u origin master推送到GitHub时认证失败求助
解决Git推送到GitHub认证失败的方法
确认认证方式合规性
GitHub自2021年8月起,已停止支持使用账号密码进行Git HTTP操作认证,必须改用**个人访问令牌(PAT)**作为"密码"输入。如果之前输入的是账号密码,必然会认证失败。生成并使用个人访问令牌
- 登录GitHub账号,依次进入「Settings」→「Developer settings」→「Personal access tokens」→「Tokens (classic)」
- 点击「Generate new token (classic)」,填写令牌描述,勾选必要权限(至少勾选
repo权限,满足仓库读写需求) - 生成后立即复制令牌(注意:令牌仅显示一次,务必妥善保存)
- 重新执行
git push -u origin master,用户名填你的GitHub账号名,密码栏粘贴刚才生成的个人访问令牌
检查远程仓库地址正确性
执行git remote -v查看当前绑定的远程仓库地址,确认是否与GitHub仓库的HTTPS/SSH地址完全一致。若地址错误,执行git remote set-url origin <正确的仓库地址>修改。切换到SSH认证方式(可选)
若不想每次推送都输入令牌,可配置SSH密钥实现免密认证:- 本地生成SSH密钥:
ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"(全程按回车即可完成生成) - 复制生成的公钥内容(默认路径为
~/.ssh/id_ed25519.pub) - 登录GitHub,进入「Settings」→「SSH and GPG keys」→「New SSH key」,粘贴公钥内容并保存
- 修改远程仓库地址为SSH格式:
git remote set-url origin git@github.com:你的用户名/仓库名.git - 测试连接:
ssh -T git@github.com,出现欢迎提示即配置成功,后续推送无需输入账号密码
- 本地生成SSH密钥:
清除本地缓存的错误凭据
若本地缓存了错误的账号密码,可能导致重复认证失败:- Windows:打开「控制面板」→「用户账户」→「凭据管理器」→「Windows凭据」,找到GitHub相关凭据并删除
- macOS:打开「钥匙串访问」,搜索「github.com」,删除相关条目
- Linux:执行
git config --global credential.helper unset清除凭据缓存
内容的提问来源于stack exchange,提问作者Chioma Onyemalu
相关产品推荐
相关产品推荐

