23

我正在尝试在新机器上设置 Git,但在使用远程存储库进行身份验证时遇到问题。

我对 Git 的经验有限,但我之前已经成功完成了以下操作:

  • 创建本地存储库 ( $git init)
  • 连接远程存储库 ( $git remote add origin https://[my remote repository])

一切顺利,直到这一点。但是,当我尝试通过命令行或 TortoiseGit 与远程存储库交互(拉取、克隆或推送)时,在输入凭据时会收到以下错误消息:

无法擦除凭据:找不到元素

致命:https://[我的远程存储库]的身份验证失败

显然,这似乎是某种身份验证问题 - 但是,我可以很好地登录远程仓库的 Web 界面,所以我确定我使用的是正确的 un/pw。我已经为 Git 安装了 Windows Credential Store,但这会引发完全相同的错误消息。

谷歌并没有太多帮助 -这个解决方案似乎是 Vista / 32 位特定的(我是 Win7 / 64 位),并且这个 SO 问题已被删除,让我更加明智。

现在,我确信我的问题有一个简单的解决方案,但是我整天都在做这件事,没有任何进展。任何人都可以给我一个指针?

提前致谢!

编辑:这是clone命令的完整结果:

我:\KODE\_Git\myproject>git clone https://...

克隆到“我的项目”...

“https://...”的用户名:myuser

' https://myuser[at] ...' 的密码:

致命:“https://...”的身份验证失败

4

14 回答 14

14

我在 Windows 中遇到了同样的错误。它发生在我在控制面板 -> 用户 -> 管理凭据中更改凭据之后。

我通过添加新凭据来修复它:

git:https ://github.com (网络凭据)以及用户名和密码。

于 2013-08-16T08:48:34.923 回答
6

我在github 上遇到了这个问题。在我的情况下,问题的根源是Two-factor authentication。我把它打开,当我把它关掉时——我摆脱了那个凭证错误。

很遗憾,因为它我不得不关闭双因素身份验证。

于 2014-03-10T09:31:01.843 回答
5

我正在使用GitExtension 2.4 6(包括 msysgit 1.8.3),我遇到了同样的问题。同样恢复安装 GitExtension 2.44(使用 msysgit 1.8.1.2)也不能解决问题。

经过一些测试,我得出的结论是我的密码是问题所在,因为最新版本的git-credential-winstore.exe修复了密码中“=”的问题。

我的密码不包含任何=,但它包含一个"§。所以我的第一个想法是将已安装的 git-credential-winstore.exe 版本更新到最新版本 1.2。我手动更新了文件并再次尝试,但没有成功。

最后,我将密码更改为不包含任何特殊字符,现在它可以工作了。

于 2013-09-04T08:36:31.583 回答
4

看起来远程服务器无法对您进行身份验证。

您使用了 https:// URL。因此 git 使用 https 连接到远程存储库。服务器回答401(未经授权),您的 git 客户端打印上述错误消息。

不确定,为什么服务器不喜欢你。名称/密码不正确,或者发生了一些奇怪的事情。尝试使用浏览器访问 https:// URL。也许这让您了解服务器问题可能是什么。

您也可以尝试在 url: 中明确给出名称/密码https://name:password@...。(但服务器可能仍会拒绝身份验证。)

于 2013-06-12T23:03:12.813 回答
3

编辑:确认,这似乎是 Git v1.8.3 的一个问题——切换到 v1.8.1.2 解决了这个问题。在这里下载。感谢您的帮助!


好吧,碰巧我的一位同事昨晚遇到了完全相同的问题,与这个问题无关。

和我一样,他下载了最新的官方 Git 版本 - v1.8.3。他继续卸载最新版本并安装 v1.8.1.2 - 这解决了问题。

当我有机会并报告时,我会尝试一下。

于 2013-06-13T14:07:08.273 回答
3

使用 GitHub,如果您使用 2 因素身份验证和 https Git,您会收到此消息。

解决方案是创建一个个人访问令牌来代替您的密码。

https://github.com/blog/1614-two-factor-authentication

于 2014-09-23T14:04:24.733 回答
1

就我而言,我不得不重新定义(禁用并再次启用)Team Foundation Server 备用凭据,因为密码策略得到了加强。

于 2014-03-19T13:13:22.993 回答
1

如果您使用的是Windows Credential Store for Git,那么问题可能在于您使用的是有缺陷的 1.3 版本。

使用以下命令对问题进行故障排除:

cmdkey /list

在 Windows 凭据存储中列出您当前的凭据。

并手动添加您的 git 凭据(在这种情况下适用于 TFS Online,但对于 Github 是相同的):

cmdkey /generic:LegacyGeneric:target=git:https://mysite.visualstudio.com /user:MyName /pass:MyPass123

我发现,在做了类似的事情之后,git pull我的凭据被自动删除了。

安装git-credential-store v1.2为我解决了这个问题。请参阅:git push 因 git-credential-winstore 失败

我还在我的 TFS Online 帐户的个人资料中更改了我的“备用凭据”密码(他们的密码策略已更改为现在需要 3 个不同的字符类),正如 Barbara 的回答中所建议的那样。

于 2014-03-19T18:52:56.827 回答
1

编辑:当使用 anyauth 和 Windows Authentication actived 时,这似乎是一个 curl 错误/与 IIS 不兼容

编辑 2:似乎安装 msysgit 1.8.0-preview-20121022 可以解决问题

使用更新版本的 mssys git 将失败并出现身份验证错误。这可以使用 curl/libcurl 重新执行,它是 http/https 的底层 Git 提供程序。

C:\Program Files (x86)\Git\bin\curl.exe --anyauth http://user:password@server/tfs/defaultcollection/_git/repo/info/refs?service=git-receive-pack

这很好用

C:\Program Files (x86)\Git\bin\curl.exe --digest http://user:password@server/tfs/defaultcollection/_git/repo/info/refs?service=git-receive-pack

所以禁用 Windows 身份验证使 git 工作,但你失去了其他一切(从 VS 或 TFS 管理控制台访问服务!)

  1. 在“tfs”节点上,激活“Digest Authentication”并禁用其他所有内容
  2. 在“Team Foundation Server”节点上,激活“Digest Authentication”并禁用其他所有内容
  3. 在“Team Foundation Server”节点上,执行管理网站 > 重启

之后能够推送和推送标签(来自 git bash 和 git 扩展)

注意:我使用 git 1.8.4.msysgit.0、git-credential-winstore 1.2 和 Git Extensions 2.47.3

注意2:不知道同时启用其他类型的身份验证是否会改变任何东西

注意 3:未尝试使用包含 = 或其他“特殊”字符的密码

于 2014-01-16T14:28:08.343 回答
0

I was struggling with this issue myself using Windows 2008 (32bit), Git, GitExtensions.

When prompted with the username/password box when attempting to push, I was getting the same message even though I was certain that I was using the correct username/password.

Adding the user/password when configuring the origin fixed this for me:

git config remote.origin.url https://user:password@bitbucket.org/username

于 2013-11-06T23:26:53.363 回答
0

我刚才遇到了同样的问题,但我想原因可能有点不同。

在我的场景中,我尝试使用与访问另一个 TFS 存储库相同的帐户访问新的 TFS-git 存储库。我的解决方案是重新安装 git-credential-winstore.exe 应用程序并重新安装它。我还删除了 Windows 凭据管理器中存储的凭据。链接到 git 凭证应用程序:http: //gitcredentialstore.codeplex.com/

希望这对某人有帮助!

于 2013-08-23T13:45:09.953 回答
0

我最近遇到了同样的问题,这是因为我没有使用正确的 url。

错误的网址https://github.com/blesh/myrepo

好网址https://github.com/blesh/myrepo.git<-- .git !!!

检查您的远程网址:

git remote -v

要修复您的远程来源网址:

git remote set-url origin https://github.com/blesh/myrepo.git

一旦我这样做了,一切都恢复正常了。

于 2014-01-23T04:57:09.560 回答
0

我也收到了这个错误。解决此问题的唯一方法是在凭据下的 visualstudio.com 配置文件中创建辅助凭据。使用带有 git 扩展的辅助凭证修复了该错误。

于 2014-04-08T02:47:32.833 回答
0

在我们的例子中,这是服务器的问题。我们的 IT 人员说 git 服务器无法访问身份验证服务器。

我不确定这意味着什么,但在服务器快速反弹和其他一些 IT 魔法之后,一切都得到了迅速修复。

于 2014-01-29T22:51:39.177 回答