在Windows 10中发送git命令时出现“致命:身份验证失败” - 错误

时间:2017-03-16 09:42:45

标签: windows git visual-studio-code access atlassian-sourcetree

更新域密码后,无法再访问git-repo。 VS代码和源代码树以及Visual Studio在pull,push,fetch等上返回以下错误消息。

fatal: Authentication failed

通常会出现凭据弹出窗口但不会发生这种情况。也是共同的建议......

git config --global credential.helper wincred

......没有用。

11 个答案:

答案 0 :(得分:62)

密码存储在Windows凭证管理器中,需要更新。打开命令提示符并输入以下命令以查看存储的密码列表:

rundll32.exe keymgr.dll,KRShowKeyMgr

在列表中向下滚动,直到找到与git相关的条目。单击它并编辑正确的密码。

瞧!

Windows 10 - Stored user names and passwords

答案 1 :(得分:5)

我同意Jesper的观点,此外-如果您可以导航到

,则在Windows上
  

控制面板\用户帐户\凭据管理器

在“通用凭据”的“ Windows凭据\ Windows Vault”页面下,您可以更新现有GIT记录的密码,也可以添加新的“通用凭据”。

答案 2 :(得分:2)

我在Windows 10上遇到过类似的问题,这是我如何解决的问题:

  1. 在Windows搜索中,键入“凭据管理器”:

enter image description here

  1. 打开凭据管理器,然后导航到Windows凭据选项卡: enter image description here

  2. 您应该在Windows Credential Manager中看到git凭据的条目: enter image description here

这是根本原因,此git凭据在本地缓存/保存到本地计算机,并且由于我们更改了Active Directory密码,因此目前不同步。

  1. 点击编辑,然后将其更改为新的/更改的Active Directory密码(此密码必须与新的/更改的Active Directory密码匹配): enter image description here

注意:这仅适用于git和https一起使用,不适用于SSH:https://docs.github.com/en/free-pro-team@latest/github/using-git/which-remote-url-should-i-use

  1. 保存,它应该可以工作(不需要重启终端或机器)。

最后,如果您无权访问Credentials Manager(由于管理/安全策略),则可以通过使用基于用户名的存储库URL从特定存储库执行git pull来强制git提示输入密码,例如

git pull https://{yourgitusername}@{gitrepo}.git

enter image description here

请注意,这是特定于回购协议的,因此您必须在每个回购协议中都执行此操作。

祝你好运。

答案 3 :(得分:1)

对我没有任何帮助,甚至卸载git并重新安装。对我有用的是从您的github帐户创建一个个人访问令牌,并将其用作密码。此页面将详细说明过程:https://medium.com/@ginnyfahs/github-error-authentication-failed-from-command-line-3a545bfd0ca8

答案 4 :(得分:0)

尝试以下操作:

  1. 点击开始
  2. 类型:凭据管理器
  3. 查看Windows Credential Manager快捷方式,然后双击它以打开应用程序。
  4. 打开应用程序后,单击“ Windows凭据”选项卡。
  5. 找到要删除的凭据,它们将以“ git:”开头,并且可能以“ ada:”
  6. 开头
  7. 单击凭证条目,它将打开该条目的详细信息视图。
  8. 单击删除,并在出现提示时确认删除。

答案 5 :(得分:0)

在通过Bash / VS代码克隆存储库时出现“致命:身份验证失败”时,我遇到了同样的问题。我根据以下文章使用SSH密钥身份验证来连接我的存储库:[https://docs.microsoft.com/en-us/azure/devops/repos/git/use-ssh-keys-to-authenticate?view=azure-devops&tabs=current-page][1] 使用bash命令后,我没有任何错误!

仅当您的计算机可以使用SSH时,以上解决方案才有效。

答案 6 :(得分:0)

我遇到了同样的问题,上述解决方案均无效。最后,我只是删除了git for windows,然后重新安装了它们,没有任何credential managers。这样就解决了git的身份验证问题。

答案 7 :(得分:0)

将 Git for Windows (2.30.0) 与跨平台凭据管理器一起使用,将远程设置为 https GitHub 地址到公共存储库,仅执行 git push 是不够的。

相反,我必须明确地执行 git push origin main(将 main 替换为 master,或者您的分支是什么)才能让 Git for Windows 加载一个 GitHub 身份验证页面,我可以在其中授权应用程序.

没有必要创建个人访问令牌,如另一个答案中所述。 Windows 凭据不存在于 Windows 凭据管理器中,但通过此方法添加为通用 Windows 凭据。

答案 8 :(得分:0)

尝试手动删除设置

credential.helper=wincred 来自

C:\Users\<YOUR LOGIN>\.gitconfig 归档它就在那里。

对我来说,它在 LDAP 中更改密码后有所帮助。 更改设置的命令没有帮助。

答案 9 :(得分:-1)

为避免每次在Windows凭据管理器中输入用户名和密码, 卸载并重新安装git

答案 10 :(得分:-1)

对我唯一有用的是remove the remote并将其添加回去。我尝试删除凭据,甚至重新安装git最新版本。但是从Github和Microsoft DevOps访问远程存储库的建议方法是使用共享密钥。