登录失败,请使用Ctrl + C取消基本凭据提示。

43

最近两天,我尝试使用命令提示符将我的代码推送/拉取到GitHub代码库时遇到了一些问题。我该如何解决?

登录失败,请使用 Ctrl + C 取消基本凭据提示。用户名为 'https://github.com': satyendrasingh8 密码为 'https://satyendrasingh8@github.com' 的密码:remote: Invalid username or password. fatal: Authentication failed for 'https://github.com/satyendrasingh8/chatApp.git/'


如果您从搜索引擎 (例如 匹配“尝试将我的代码提交/推送到GitHub存储库时出现问题”) 来寻找 2021 年 11 月 Visual Studio Code 更新 (至版本 1.62.2) 后的问题解决方案,则适用于该特定问题的规范问题候选人是*fatal: Authentication failed for*(尽管标题不太明确)。 - Peter Mortensen
9个回答

81

Fitz_Hoo是正确的!我只是想给出一个更详细的解释来修复我的问题。实际上,GitHub最近弃用了他们的密码验证方式(您可以点击这里了解更多)。

输入图像描述

现在,您将使用浏览器登录,而不是添加您的用户名/电子邮件和密码。下面的图片是新界面。如Fitz_hoo所提到的,您必须更新您的Git才能看到新的更改!

输入图像描述

如果您使用的是Windows,则可以简单地使用下面的命令来更新您的Git:

git update-git-for-windows

我更新了 Git,清除了 Windows 凭据管理器中的凭据,但问题仍然存在。事实证明在我的 C:\Users<username>.gitconfig 文件中有大量[url "https://api:<old_token>@github.com/"]行。删除这些认证后,就像应该的那样提供通过浏览器进行身份验证或输入访问令牌的选项->输入访问令牌->再次运行。 - bea
我们需要在哪里执行git update命令?我已经在PowerShell中尝试过了,但它不起作用。 - aadi1295

31

我只需要将我的客户端Git Bash升级到最新版本,就成功解决了问题!

当我遇到问题时,我收到了来自GitHub官方的一封电子邮件,告诉我原因主要是Git版本不兼容:

GitHub已经改变了用户在使用Windows Git时进行身份验证的方式,现在需要使用web浏览器进行身份验证。为能够通过web浏览器登录,用户需要更新到最新版本的Windows Git。您可以在以下网站下载最新版本:

https://gitforwindows.org/


2

这个消息出现的原因可能是你试图拉取的远程分支已被删除。


1

对我来说,问题在于我尝试使用电子邮件登录而不是我的用户名。


1
从凭据管理器中删除 GitHub 条目: 控制面板用户帐户凭据管理器
然后再次推送代码。

Enter image description here


0
在我的情况下,我遇到了与 AWS CodeCommit 的联合身份验证相关的问题。解决方法是将 git 升级到 +v2.30.z(即2.35.3),并禁用交互提示(docs):
git config --global credential.interactive false

~/.gitconfig 中的全局配置应该长这样:

[credential]
        interactive = false

一个针对 AWS CodeCommit 的特定配置,看起来像这样(在~/.gitconfig中):
[credential "https://git-codecommit.us-east-1.amazonaws.com"]
        interactive = false

0

我收到了GitHub的一封电子邮件,告诉我:

我们最近更新了API认证令牌的格式,为所有客户提供了额外的安全性。为了从这种新格式中受益,请重新生成您的个人访问令牌。

我重新生成了我的个人访问令牌(PAT),但当我尝试执行类似于git pull的命令行操作时,在Windows 10上无法登录。

一个窗口会弹出,要求我输入“用户名或电子邮件”和密码。我尝试了各种组合,使用GitHub文档中提到的PAT和实际密码,但每次都收到以下消息:

登录失败,请使用ctrl+c取消基本凭据提示

感谢Fitz_HooousecTic的回答,我使用了ousecTic提供的命令更新了我的Git安装程序,然后认证过程完全不同了。 您可以选择使用PAT,但是当您粘贴它时,根本不会显示任何字符,所以只需按Enter键即可。

Enter image description here


0
对我来说,安装 GitBash 解决了这个问题。它允许我通过浏览器选项进行身份验证。

-1

这是适用于我的解决方案,先从计算机中卸载Git,然后安装新版本,并通过Web登录


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接