GIT Fatal error: Authentication failed in Visual Studio
GIT Fatal error: Authentication failed in Visual Studio
截至今天,我在 Azure-DevOps 中尝试对我的存储库使用 git 命令时遇到错误。这些存储库位于 DevOps 上的一个项目中,我可以使用相同的帐户访问该项目,并且没有显示任何最近更改的迹象。我可以采取的重现步骤是:
- 打开命令提示符并输入
git fetch
- 出现 window 提示登录
- 我点击账户
- 未提示密码,但收到一封电子邮件,说明已创建 PAT
- 命令提示符产生错误
错误:
fatal: Authentication failed for `<link to repository>`
到目前为止我尝试过的事情:
- 正在重启电脑
- 注销并登录
Visual Studio
- 正在删除
.IdentityService
文件夹
- 删除和安装
GIT
- 在
Visual Studio Installer
中删除和安装 GIT For Windows
- 正在删除缓存文件夹
%LOCALAPPDATA%\Microsoft\Team Foundation.0\Cache
- 正在删除缓存文件夹
%LOCALAPPDATA%\Microsoft\Team Foundation.0\Cache
- 从
Credential Manager
中删除 GIT
和 VS
键
- 在网上找到的其他一些东西 'fixes' 没有解决我的问题
目前运行:
- GIT 2.21.0-64 位
- Visual Studio 2019
编辑:
我尝试将 Visual Studio Code
与 Azure Repos 1.149.2
扩展名一起使用,但遇到了同样的错误。它为我提供了 Microsoft 页面以输入我授予的设备登录代码,但使用 git
命令会给我相同的错误消息。
我的配置文件也已从 Azure DevOps 环境中删除并重新添加,但没有成功。
尝试并检查 git 配置 credential.helper 的值。
如果您看到 "manager"、open the Windows Credentials Manager,并将 PAT(创建的个人访问令牌)作为密码(同时保持您的常规登录,关联到远程 URL)
然后重试,看看问题是否仍然存在。
要强制 Git 凭据管理器停止干扰,您可以将以下内容添加到全局 git 配置中:
[credential]
helper =
这有效地关闭了所有凭据管理器。然后,在 Azure DevOps 中,您可以配置一组 Git 凭据或个人访问令牌,并使用它直接连接。
它没有解释您遇到的问题。鉴于您的帐户似乎是 Machine Bound 和 AAD 帐户,很多事情都可以发挥作用。这包括 AAD Home-Realm 发现和单一 Sign-on 和 Azure Active Directory 来宾帐户。
另一个可能的问题是您的 Windows 凭据存储,它有多个存储 Azure DevOps 和 Git 凭据的位置。最后,用于 sign-in 至 Visual Studio 2019 以检索其许可证的帐户可能正在播放。
根据您提供的信息,我们几乎不可能在不回头看的情况下帮助您解决问题。如果您有可用的 Azure 支持请求,我几乎会建议您提出请求,以便工程师可以与您一起查看。
可选运行
git-credential-manager.exe erase
并传入以下数据
protocol=https
host=dev.azure.com
path=/jessehouwing/vsts-extensions/_git/vsts-github-tasks
{newline}
告诉 git 删除为您的帐户存储的凭据
在我的特殊情况下,在与 Microsoft 来回发送许多邮件后,我发现我的两个帐户以某种方式开始相互冲突,导致出现奇怪的错误。一个很好的例子是,在 DevOps 中对 wiki 进行更改会在提交试验中显示与我登录的帐户不同的帐户。
最终 Microsoft 设法修复了它,此后我再也没有遇到任何问题。
我遇到了同样的情况 - 在 VS 2017 中一切正常,但 2019 年就不行了。我找到了this article, which suggested I update the Git Credential Manager for Windows。我安装的版本(在 C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe
)是 3 岁。下载、安装后问题就解决了。
我在 VS2019 中遇到了类似的问题,我移动了笔记本电脑,尽管我使用凭据管理器删除和更改了凭据,但它拒绝进行身份验证。我链接到 Assembla 中的存储库,在存储库设置下的团队资源管理器 window 中,我注意到有一个复选框可以覆盖全局用户名和电子邮件设置,这与我的 Assembla 登录名不同。
同样的错误(Windows、Git、Bash命令行、Visual Studio、bitbucket)。使用 https(不是 ssh)应该提示输入登录凭据但错误(可能是因为我的 bitbucket 凭据已更改):
$ git pull origin master
fatal: Authentication failed for 'https://bitbucket.../my_git_project.git'
$ git config -l
...
credential.helper=manager
...
$ git config --global --unset credential.helper
$ git config --system --unset credential.helper
git pull
现在提示 username/password 提示。
截至今天,我在 Azure-DevOps 中尝试对我的存储库使用 git 命令时遇到错误。这些存储库位于 DevOps 上的一个项目中,我可以使用相同的帐户访问该项目,并且没有显示任何最近更改的迹象。我可以采取的重现步骤是:
- 打开命令提示符并输入
git fetch
- 出现 window 提示登录
- 我点击账户
- 未提示密码,但收到一封电子邮件,说明已创建 PAT
- 命令提示符产生错误
错误:
fatal: Authentication failed for `<link to repository>`
到目前为止我尝试过的事情:
- 正在重启电脑
- 注销并登录
Visual Studio
- 正在删除
.IdentityService
文件夹 - 删除和安装
GIT
- 在
Visual Studio Installer
中删除和安装 - 正在删除缓存文件夹
%LOCALAPPDATA%\Microsoft\Team Foundation.0\Cache
- 正在删除缓存文件夹
%LOCALAPPDATA%\Microsoft\Team Foundation.0\Cache
- 从
Credential Manager
中删除 - 在网上找到的其他一些东西 'fixes' 没有解决我的问题
GIT For Windows
GIT
和 VS
键
目前运行:
- GIT 2.21.0-64 位
- Visual Studio 2019
编辑:
我尝试将 Visual Studio Code
与 Azure Repos 1.149.2
扩展名一起使用,但遇到了同样的错误。它为我提供了 Microsoft 页面以输入我授予的设备登录代码,但使用 git
命令会给我相同的错误消息。
我的配置文件也已从 Azure DevOps 环境中删除并重新添加,但没有成功。
尝试并检查 git 配置 credential.helper 的值。
如果您看到 "manager"、open the Windows Credentials Manager,并将 PAT(创建的个人访问令牌)作为密码(同时保持您的常规登录,关联到远程 URL)
然后重试,看看问题是否仍然存在。
要强制 Git 凭据管理器停止干扰,您可以将以下内容添加到全局 git 配置中:
[credential]
helper =
这有效地关闭了所有凭据管理器。然后,在 Azure DevOps 中,您可以配置一组 Git 凭据或个人访问令牌,并使用它直接连接。
它没有解释您遇到的问题。鉴于您的帐户似乎是 Machine Bound 和 AAD 帐户,很多事情都可以发挥作用。这包括 AAD Home-Realm 发现和单一 Sign-on 和 Azure Active Directory 来宾帐户。
另一个可能的问题是您的 Windows 凭据存储,它有多个存储 Azure DevOps 和 Git 凭据的位置。最后,用于 sign-in 至 Visual Studio 2019 以检索其许可证的帐户可能正在播放。
根据您提供的信息,我们几乎不可能在不回头看的情况下帮助您解决问题。如果您有可用的 Azure 支持请求,我几乎会建议您提出请求,以便工程师可以与您一起查看。
可选运行
git-credential-manager.exe erase
并传入以下数据
protocol=https
host=dev.azure.com
path=/jessehouwing/vsts-extensions/_git/vsts-github-tasks
{newline}
告诉 git 删除为您的帐户存储的凭据
在我的特殊情况下,在与 Microsoft 来回发送许多邮件后,我发现我的两个帐户以某种方式开始相互冲突,导致出现奇怪的错误。一个很好的例子是,在 DevOps 中对 wiki 进行更改会在提交试验中显示与我登录的帐户不同的帐户。
最终 Microsoft 设法修复了它,此后我再也没有遇到任何问题。
我遇到了同样的情况 - 在 VS 2017 中一切正常,但 2019 年就不行了。我找到了this article, which suggested I update the Git Credential Manager for Windows。我安装的版本(在 C:\Program Files\Git\mingw64\libexec\git-core\git-credential-manager.exe
)是 3 岁。下载、安装后问题就解决了。
我在 VS2019 中遇到了类似的问题,我移动了笔记本电脑,尽管我使用凭据管理器删除和更改了凭据,但它拒绝进行身份验证。我链接到 Assembla 中的存储库,在存储库设置下的团队资源管理器 window 中,我注意到有一个复选框可以覆盖全局用户名和电子邮件设置,这与我的 Assembla 登录名不同。
同样的错误(Windows、Git、Bash命令行、Visual Studio、bitbucket)。使用 https(不是 ssh)应该提示输入登录凭据但错误(可能是因为我的 bitbucket 凭据已更改):
$ git pull origin master
fatal: Authentication failed for 'https://bitbucket.../my_git_project.git'
$ git config -l
...
credential.helper=manager
...
$ git config --global --unset credential.helper
$ git config --system --unset credential.helper
git pull
现在提示 username/password 提示。