Git:无法删除证书:找不到元素

我试图在新的机器上设置Git,而且我在使用远程存储库进行身份validation时遇到了问题。

我对Git的经验有限,但是我已经成功完成了以下的工作:

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

一切都很好,直到这一点。 但是,当我尝试与远程存储库进行交互时(通过命令行或TortoiseGit进行抽取,克隆或推送),在input我的凭据时,会收到以下错误消息:

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

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

这显然看起来像某种身份validation问题 – 但是,我可以login到远程回购的Web界面就好了,所以我确定我使用正确的un / pw。 我已经安装了Git的Windows Credential Store,但是引发了完全相同的错误信息。

谷歌没有太多的帮助 – 这个解决scheme似乎是特定于Vista / 32位(我是Win7 / 64位), 这个问题已经被删除,让我没有更明智的。

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

提前致谢!

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

I:\ KODE \ _Git \ myproject> git clone https:// …

克隆到“myproject”中

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

“ https:// myuser [at] …”的密码:

致命:“https:// …”身份validation失败

我在Windows中有相同的错误。 这发生在我更改了控制面板中的凭据 – >用户 – >管理凭据。

我通过添加一个新的证书来解决它:

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

我有github这个问题。 在我的情况下,问题的来源是双因素认证 。 我把它打开 ,当我把它关掉的时候 ,我摆脱了那个证书错误。

这是一个耻辱,但我必须保持双因素身份验证因为它。

我使用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。我手动更新文件,并再次尝试,但没有成功。

最后,我已经改变了我的密码, 不包括任何特殊字符 ,现在它的工作。

看起来像远程服务器无法验证你。

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

不知道,为什么服务器不喜欢你。 名称/密码不正确,或者有什么奇怪的事情发生。 尝试使用浏览器访问https:// URL。 也许这给你一个想法是什么服务器的问题。

您也可以尝试在url: https://name:password@...明确指定名称/密码。 (但服务器可能仍然会拒绝认证。)

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


那么,恰恰是昨晚我的一个同事也有同样的问题,独立于这个问题。

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

当我得到机会并回报时,我会放弃这一点。

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

解决方案是创建一个个人访问令牌,用于代替密码。

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

编辑:这似乎是使用anyauth和Windows身份验证激活时卷曲错误/不兼容

编辑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”节点上,激活“摘要认证”并禁用所有其他功能
  2. 在“Team Foundation server”节点上,激活“摘要式身份验证”并禁用所有其他功能
  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:未尝试使用包含=或其他“特殊”字符的密码

在我的情况下,我不得不重新定义(禁用和再次启用)Team Foundation server备用凭据,因为密码策略已被加强。

如果您使用的是Windows Credential Store for Git,那么问题可能是您使用的是bug 1.3版本。

使用以下命令排查该命令的问题:

 cmdkey /list 

在Windows Credential Store中列出当前的凭据。

并手动添加你的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失败

正如Barbara的回答所建议的,我也在我的个人资料中为我的TFS在线帐户(他们的密码策略已经更改为现在需要3个不同的字符类)更改了“Alternate Credentials”(替代凭证)密码。

我刚刚有同样的问题,但我想这个问题可能会有点不同。

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

希望这可以帮助别人!

我正在使用Windows 2008(32位),Git,GitExtensions来解决这个问题。

当试图推送时提示用户名/密码框,即使我确定我正在使用正确的用户名/密码,我收到相同的消息。

添加用户/密码时配置的原点固定这个给我:

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

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

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

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

要检查您的远程网址:

 git remote -v 

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

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

一旦我这样做了,一切都再次正常工作。

在我们的情况下,这是一个服务器的问题。 我们的IT人员说,git服务器无法访问认证服务器。

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

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