BUG解决:fatal: Authentication failed for ‘https://github.com/xxx/xxx/‘

项目场景:

进行git push时同步github库,输入用户名和密码之后出现


问题描述

遇到fatal: Authentication failed for 'https://github.com/xxx/xxx/'报错,
fatal: Authentication failed for 'https://github.com/xxx/xxx/'

详细报错如下

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/xxx/xxx/'

试过git config还是不行


原因分析:

刚开始看到可能会很懵,但仔细看报错信息

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.

翻译过来就是2021年8月31号之后就移除了密码授权,而进入后面给出的网站查看之后就会发现:
总结起来就是密码处要填入你的personal access token
总结起来就是密码处要填入你的personal access token


解决方案:

  1. 点击github头像,再点击settings
    在这里插入图片描述
  2. 滑到最下面找到developer settings
     滑到最下面找到developer settings
  3. 点击生成personal access token(这里记得把权限全选,然后把token保存在一个文本文档里,因为是没法第2次查看的

![点击生成personal access token](https://img-blog.csdnimg.cn/4046a4a5b752470e8c2a673a3659ff88.png

  1. 然后再进行git push时在密码处复制粘贴自己的token就成功了
    在这里插入图片描述

更多学习干货与资料领取欢迎关注公众号:洋芋智能

### Git 认证失败问题的解决方案 当尝试通过 HTTPS 协议与 GitHub 进行交互时,如果遇到 `fatal: Authentication failed` 错误,通常是因为自 2021 年 8 月 13 日起,GitHub 不再支持基于密码的身份验证[^1]。以下是具体的解决办法: #### 方法一:使用个人访问令牌 (Personal Access Token) 1. **生成个人访问令牌** 登录到 GitHub 账户后,进入账户设置中的开发者选项 (`Settings -> Developer settings`),选择 `Personal access tokens` 页面并点击 `Generate new token` 创建一个新的令牌[^3]。 2. **配置 Git 使用令牌** 将生成的令牌作为密码来代替原来的登录密码。可以通过以下方式更新凭证缓存: ```bash git credential-cache exit ``` 然后再执行需要身份验证的操作(如 `git pull`, `git push` 或者 `git clone`),此时会提示输入用户名和密码。这里的密码就是刚刚生成的个人访问令牌。 3. **修改远程 URL 地址** 如果已经在本地仓库中设置了远程地址,则可以将其更改为带有令牌的形式。例如: ```bash git remote set-url origin https://<your_token>@github.com/<username>/<repository>.git ``` 替换 `<your_token>` 和其他占位符为你实际的数据[^4]。 #### 方法二:切换至 SSH 密钥认证 另一种推荐的方式是从 HTTPS 切换为 SSH 来管理版本库连接。具体步骤如下: 1. **检查现有 SSH 密钥** 打开终端运行下面命令查看是否有现成密钥文件存在。 ```bash ls ~/.ssh/ ``` 2. **如果没有发现 id_rsa.pub 文件则需创建新的SSH Key** ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 3. **添加公钥到 GitHub** 复制生成后的 `.pub` 文件内容并通过浏览器粘贴进 GitHub 的 SSH Keys 设置里去。 4. **测试连接成功与否** 输入以下指令确认能否正常连通服务器端口22。 ```bash ssh -T git@github.com ``` 完成以上操作之后应该不会再碰到类似的授权错误了。 --- ### 注意事项 - 请妥善保管好自己的Token或者私钥信息以防泄露造成不必要的麻烦。 - 当前方法适用于大多数场景下的Git基本功能需求;对于某些特殊情况下可能还需要额外调整环境变量等相关参数设定才能正常使用服务端资源接口调用等功能扩展特性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和洋芋讲科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值