身份验证失败了bitbucket

Jul*_*rre 77 bitbucket atlassian-sourcetree

我正在尝试使用sourcetree通过bitbucket上的https协议来推送我的项目.
但是我无法使用我的登录名和密码(在网站上工作)连接到bitbucket,我有一个致命的错误:"身份验证失败".

我在其他帖子上看到我可以使用ssh协议而不是https来解决问题,所以我按照源树常见问题解答的说明设置了一个ssh密钥.但是现在我不知道当我想推送代码时如何更改为ssh协议.有人知道我怎么做到这一点?谢谢.

Ale*_*lex 107

如果您在使用GIT控制台时遇到身份验证问题,可以通过以下方式尝试使用身份验证:

https://<username>:<password>@bitbucket.org/<username>/<repo>.git
Run Code Online (Sandbox Code Playgroud)

  • 撤销投票.这解决了我的问题.我不想要一个ssh解决方案.堆栈溢出问题不是真空.*一个有用的答案是一个有用的答案.* (17认同)
  • 这会将您的密码以明文形式放在.git/config文件中 (13认同)
  • 另外注意到我使用的特定命令是`git remote set-url origin https:// <username>:<password> @ bitbucket.org/<username>/<repo> .git`. (7认同)
  • 呃......我的回答不是随机的.因为我遇到了同样的问题,并希望切换到SSH协议,但您不必为了使其工作.直接指定密码可以使https auth方法有效.只是在说'. (3认同)
  • 我意识到这不是随机的,但它没有回答这个问题.如果你修改你的答案也解决SSH身份验证,那么我很乐意删除我的downvote :) (2认同)

Bob*_*Bob 43

我最近在SourceTree上遇到了类似的问题:任何时候我尝试向/从远程源推送/提取/获取都会出现身份验证错误(使用Stash使用SourceTree).有时我会用CAPTCHA在Stash中挑战,但如果我提供了正确的信息,它就永远不会有所作为.

对我来说,我们在企业环境中使用SourceTree和Stash; 用户帐户基于网络凭据.我们网络安全的一部分要求我们定期更改这些密码.

我在假设SourceTree/Stash"意识到"对我的网络密码所做的任何更改的情况下运行.但显然 - 至少在这种情况下 - 事实并非如此.

为了解决这个问题,我需要做的就是:

工具>选项>验证>编辑(编辑密码)

我设置密码以匹配我当前的网络密码,一切都按预期开始工作.

不确定这是否有助于OP,但我希望它可以帮助其他人寻找类似问题的答案.

  • 我在SourceTree上找不到类似"工具","选项","身份验证"或"编辑密码"的内容.但我在Mac上. (7认同)

ish*_*mal 20

工具 - >选项 - > git和选择'use system git'对我来说是神奇的.

  • OSX上的'SourceTree>首选项> Git'. (3认同)

Tib*_*Tib 16

我通过编辑OS X Keychain中的存储值解决了这个问题:我查找"bitbucket"(作为应用程序密码)并更改了值.

然后在Sourcetree上,当我试图推送时,我直接不得不重新输入我的新密码.

  • 删除该钥匙串对我有帮助,因为它导致源树要求新密码. (2认同)

小智 14

Windows 启动菜单,搜索 Windows 凭据管理器。搜索 bitbucket url,尝试在那里更新密码..并再次执行 git 操作。它应该工作。


Jos*_*osh 13

删除 Sourcetree 密码缓存文件对我有用。导航到 C:\Users\USERNAME\AppData\Local\Atlassian\SourceTree 并删除(或重命名)名为 passwd 的文件。重新启动 SourceTree 并执行需要身份验证的命令(例如 Pull、Push 等)。然后,SourceTree 将提示您输入密码,并重写缓存的凭据。


Max*_*Max 11

更改存储库密码后,我没有使用特殊字符(!"§$%&&)解决了这个问题.

显然,win-credential-store和git和bitbucket的web界面使用不同的字符编码.

完整程序:

D:\shared\Project> cd /path/to/your/project
D:\shared\Project> git init
D:\shared\Project> git remote add origin https://bitbucket.org/USERNAME/project.git
D:\shared\Project> git-credential-winstore.exe
Run Code Online (Sandbox Code Playgroud)

然后

D:\shared\Project> git push
Failed to erase credential: Element not found
fatal: Authentication failed for 'https://bitbucket.org/USERNAME/project.git/'
Run Code Online (Sandbox Code Playgroud)

更改密码后:

D:\shared\Project> git push
Counting objects: 102, done.
Delta compression using up to 8 threads.
... etc. ...
Run Code Online (Sandbox Code Playgroud)

Windows tresory中的设置:

address: git:bitbucket.org (remeber the preceding "git:")
user: USERNAME
pass: old incl!"§§$%&, new without!"§$%%&/( (your passphrase!)
Run Code Online (Sandbox Code Playgroud)


Gee*_*rik 8

经过很长一段时间的斗争后,我似乎找到了一些似乎有效的东西。我正在优化网址以不包含用户名(尽可能保持通用),但身份验证对话框不断弹出:

在此输入图像描述

我尝试了想到的一切,例如:

  1. 启用和禁用 MFA(多重身份验证)
  2. 创建应用程序密码(同样,无论是否启用 MFA)

无论我使用什么工具(包括 SourceTree),都不起作用。服务器不断返回:“创建应用程序密码”

基本上你必须

  1. 使用包含用户名的URL (例如https://myusername@bitbucket.org/.. .)
  2. 使用在 bitbucket 中创建的应用程序密码

如果服务器在响应中返回此内容而不是建议使用应用程序密码,那就太好了......


2sl*_*oth 6

我恢复了sourcetree 2.0

这解决了我的错误.

https://www.sourcetreeapp.com/download-archives


小智 6

我尝试了所有其他操作,但发现无奈,但这确实对我有用。“要更新您的凭据,请转到控制面板->凭据管理器->通用凭据。找到与您的git帐户相关的凭据,然后编辑它们以使用更新的密码”。

在此链接中找到的上方解决方案:https : //cmatskas.com/how-to-update-your-git-credentials-on-windows/

  • 针对 Windows 10:控制面板 -&gt; 用户帐户 -&gt; 凭据管理器 -&gt; 管理 Windows 凭据 (2认同)

Abd*_*sit 6

在最新的更新中,您可以从 bitbucket 的设置页面设​​置应用程序密码。然后,当您要推送或拉出某些内容时,请输入该密码,它就会起作用在此输入图像描述


Jor*_*sys 5

Tools> Options> Use System Git,然后选择git.exe文件

在此处输入图片说明

将再次需要凭据,问题将得到解决。