Git储藏错误“致命:远程错误:需要验证码”

40

尝试从我的Stash项目中拉取,使用以下命令:

$ git remote add origin https://stash@stash.company.com/scm/~username/project.git
$ git pull origin develop

我被提示输入密码,输入后出现以下错误:

您的 Stash 帐户已被标记为需要在再次登录之前解决 CAPTCHA。这通常是由于尝试使用不正确的密码登录次数过多引起的。所需的 CAPTCHA 防止您的 SCM 客户端访问 Stash,即使您输入正确的密码也是如此。如果您当前通过浏览器登录 Stash,则可能需要注销然后重新登录以清除 CAPTCHA。

注销并重新登录无效。如何解决这个问题?

19个回答

28

你可能在浏览器中打开了一个 BitBucket 的 session,这让你觉得一切都很好。只需注销并重新登录,在登录时你需要解决一个验证码,之后你就可以继续进行了。


问题已经解决,谢谢。我清除了缓存,这样当它提示登录时就会要求输入验证码。 - vijay
3
不适用于我。 - GenDemo
对我来说很有效 - undefined

19

另一个与验证码警告相关的常见问题似乎与密码更改有关。一旦您在认证系统中更改了密码,sourcetree和eclipse插件可能会与已经登录的bitbucket会话存在密码冲突,导致激活CAPTCHA身份验证。

解决方法:进入您的bitbucket会话,注销并重新登录。如果问题仍然存在,则您可能需要检查URL,因为验证码激活将引导您到另一个方向,而具有故障URL的用户帐户将再次引发身份验证失败。


1
在更新密码后,我遇到了类似的问题。但即使我使用GITHUB(而不是BitBucket)帐户重新登录,我仍然面临同样的问题。我是否漏掉了什么? - krishna5688

17

这种情况也曾经发生在我身上。我尝试删除sourcetree密码文件,但并没有起作用。我注销并重新登录bitbucket,但这也没有解决问题。最终有效的方法是进入Windows的控制面板和凭据管理器,更改/删除所有与我的git仓库相关的引用。


我也遇到了同样的问题,但在我的凭据管理器中没有看到任何git引用。我只看到了一些Microsoft Office的引用... - CCNA
也适用于我。 - Sushil Kumar
谢谢。我不想删除这些引用,因为我的电脑是公司的。所以我只是更新了密码到 Bit Bucket。实际上我之前已经做过了,只是完全忘记了。感谢您提醒我。 - William Hou

14

对我有效的方法是进入:C:\Users\UserName\AppData\Local\Atlassian\SourceTree,删除passwd文件。关闭Sourcetree并注销Bitbucket。然后重新登录Bitbucket并解决验证码。接着启动Sourcetree并进行抓取时,输入密码即可。


谢谢,这是唯一一个每次我更改密码时都能正常工作的解决方案。 - never
在 Mac 上我该在哪里找到这个文件? - Felipe Andrade
虽然我不是Mac用户,但是https://apple.stackexchange.com/questions/28928/what-is-the-osx-equivalent-to-windows-appdata-folder我会查看(〜/Library/Application Support)。如果这有效,就告诉我,我会将其添加到答案中。 - Sneaky Polar Bear
密码文件在哪里? - mobibob
它应该在那个文件夹位置,除非您从未输入过Sourcetree的密码对话框(即您刚安装并尚未启动它)。 - Sneaky Polar Bear
Sourcetree是一个很棒的东西。这是唯一对我起作用的解决方案。 - James

10

如果在macOS上使用stash,下面的方法对我有效:

  1. 关闭SourceTree
  2. 打开钥匙串访问
  3. 搜索“stash”,并删除所有条目
  4. 前往stash网站,注销并重新登录
  5. 打开SourceTree并输入您的密码

6

在更改Windows域密码后,我遇到了同样的问题。以下步骤解决了我的问题:

  • 关闭所有客户端(例如终端、IDE和浏览器)
  • 打开Windows凭据管理器(在Windows搜索中输入“凭据管理器”),并删除与BitBucket实例相关的Windows凭据下的所有条目
  • 在没有登录信息的浏览器实例中打开(例如Chrome隐身模式或Firefox私密窗口)
  • 导航到 https://<<your BitBucket>>/login?auth_fallback,登录并解决CAPTCHA

现在执行git pull origin时,凭据管理器弹出,我可以输入我的新/当前密码,然后就完成了。

作为JetBrains Rider的用户,我必须清除Rider中存储的所有密码 (在此处查看)。


这个回答救了我:))) 值得成为最佳答案。 - Prakash Dahal

3

我的问题是URL格式错误:应该是https://username@stash.company.com/scm/~username/project.git而不是stash@stash。


3

如果是 Windows 系统,以下步骤适用:

  1. 打开 Windows 搜索
  2. 搜索并打开凭据管理器
  3. 进入 Windows 凭据管理器
  4. 删除你的 Bitbucket/Github 账户信息
  5. 运行所需命令(如 pull,push 等)
  6. 它将要求你输入 Bucket 或 Github 账户信息
  7. 正确输入你的账户信息
  8. 完成!

2

请前往您的Windows系统,输入“凭据管理器” >> 打开“Windows凭据” >> 在Bitbucket链接下更新密码。

退出并重新登录Bitbucket。


2
在我的情况下,我们的组织使用 Bitbucket ServerSSO 凭据。我登出了网站,而不是使用 SSO 按钮登录,我必须输入我的凭据才能获取所需的CAPTCHA以解决此问题。

1
我不明白为什么这个回答被踩了。这是你需要尝试的50件事之一。如果你所在的组织使用SSO,并且还强制你定期更新密码,那么这个回答就是你需要的。 - rrreee

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