身份验证无法进行位桶化


89

我正在尝试使用sourcetree通过bitbucket上的https协议推送我的项目。
但是我无法使用我的登录名和密码(可在网站上使用)连接到bitbucket,但出现致命错误:“身份验证失败”。

我读过其他文章,我可以使用ssh协议而不是https来解决此问题,因此我按照源树常见问题解答上的说明设置了ssh密钥。但是现在我不知道要推送代码时如何更改为ssh协议。有人知道我该怎么做吗?谢谢。


12
将远程原始地址从https(即:https:// <用户名> @ bitbucket.org / <用户名> / <repo> .git)更改为ssh(即:git@bitbucket.org:<user> / <repo>)。 git)。您将在存储库页面的右侧找到这些地址。(git remote set-url origin git@bitbucket.org:<user> / <repo> .git
Alexandru Guzinschi 2014年

这应该标记为答案。
ronnyfm '16

还没有解决方案吗?(我想通过寻找没有被接受的答案来假设)
Talha

删除默认的用户名和保存的密码,它对我来说有一个类似的问题。工具>选项>身份验证
NoamG

当远程身份验证服务器关闭时,这发生在我身上。如果真是这样,除了在本地作出承诺和保持耐心之外,对此无能为力。
卡梅隆·多纳休

Answers:


119

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

https://<username>:<password>@bitbucket.org/<username>/<repo>.git

3
错误...我的回答不是随机的。由于我遇到了同样的问题,想切换到SSH协议,但是您不必一定要使其工作。直接指定密码可以使https auth方法起作用。只是在说'。
亚历克斯(Alex)

2
我意识到这不是随机的,但无法回答问题。如果您修改答案也可以解决SSH身份验证问题,那么我很乐意删除我的不赞成意见:)
Dan

18
撤消拒绝投票。这解决了我的问题。我不想要ssh解决方案。堆栈溢出问题不会存在。有用的答案是有用的答案。
funroll 2014年

11
还要注意我使用的特定命令是git remote set-url origin https://<username>:<password>@bitbucket.org/<username>/<repo>.git
funroll 2014年

20
这会将您的密码以明文形式放在您的.git / config文件中
Christopher Pickslay 2015年

47

最近,我在SourceTree上遇到了类似的问题:每当我尝试向/从远程源推入/拉出/提取时,都会收到身份验证错误(将SourceTree与Stash结合使用)。有时,在Stash中使用CAPTCHA可能会给我带来挑战,但是无论我是否提供正确的信息,这都没有改变。

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

我以SourceTree / Stash可以“知道”对网络密码所做的任何更改为前提进行操作。但是显然-至少在这种情况下-并非如此。

要修复,我需要做的是:

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

我将密码设置为与当前的网络密码匹配,并且一切都按预期开始工作。

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


我正在使用SourceTree + Bitbucket,但未在公司环境(即特定的Bitbucket凭据)中使用,而是通过建议的有效方法更改了密码。谢谢:)
史蒂夫·威尔福德

8
我在SourceTree上找不到“工具”,“选项”,“身份验证”或“编辑密码”之类的东西。虽然我在Mac上。
Sti

1
@Sti Mac用户需要转到SourceTree菜单(而不是Tools / Options菜单)下的Preferences。
BrendanSimon

对于Mac用户:转到SourceTree->首选项->帐户,选择帐户,单击“编辑”,然后单击“连接帐户”并在那里使用您的Atlassian帐户登录。
弗拉基米尔·格里戈洛夫



16

我通过编辑OS X钥匙串中的存储值解决了该问题:我寻找了"bitbucket"(作为Application password)并更改了该值。

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


2
删除该钥匙串对我有帮助,因为它导致源树要求输入新密码。
novomanish

在MacOS 10.13(High Sierra)上,重新启动计算机(或至少注销/登录)非常重要,这样才能在删除钥匙串条目后重新启动计算机。否则,Sourcetree无法将新密码存储在钥匙串中,并且每个git操作都会导致出现许多密码提示。
厄尼

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

然后

D:\shared\Project> git push
Failed to erase credential: Element not found
fatal: Authentication failed for 'https://bitbucket.org/USERNAME/project.git/'

更改密码后:

D:\shared\Project> git push
Counting objects: 102, done.
Delta compression using up to 8 threads.
... etc. ...

Windows Tresory中的设置:

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

同样,我需要将用户名更改为不带下划线的名称。
祖格祖尔格

1
哇。这在犯罪上是愚蠢的。看来我们知道所有Atlasian bitbucket帐户密码中都没有符号。Ughhh。
deweydb '16


6

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


这是我的解决方案。我正在运行Windows-7,并且最近更改了密码。Bitbucket服务器的缓存凭据在凭据管理器中已过期。
Brett

的确,Windows凭据管理器存储密码和详细信息。问题是由于缓存。因此,请始终在凭证管理器中检查密码。
Pankaj Chauhan

4

我有同样的问题。它与Git for Windows中的错误有关。对我来说,足以将SourceTree中使用的Git更改为嵌入式代码:

工具->选项-> Git,然后单击“使用嵌入式Git”按钮


4

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

在此处输入图片说明

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


任何人都可以提供有关其工作原理的详细信息吗?
范围蠕变'18

3

对于Mac 用户。在“源”树上设置了一个默认帐户,该帐户不允许我克隆URL,因为我的当前URL具有不同的bitbucket帐户。因此,它显示了无效的源路径,然后我单击“高级选项”,发现对your_clone_url的身份验证失败。因此,请按照下列步骤

  1. 选择源树。转到SourceTree菜单->选择Preferences
  2. 它将显示“帐户”窗口。然后选择帐户 在此处输入图片说明

在这里它将显示您添加的帐户的列表。只需单击底部的“添加”按钮,然后添加新的bitbucket帐户详细信息。它将在“帐户”标签下列出您的帐户。您也可以通过单击底部的“设置默认..”按钮来设置默认帐户。现在一切都完成了。


2

如果您使用google /其他oauth制作了帐户,则需要先为帐户设置一个位桶密码。该网址为:https : //bitbucket.org/account/user/ /或在菜单下查找Bitbucket设置。

然后可以从git登录(我通过命令行尝试过)。我使用内置管理器获取凭据:

credential.helper =经理

现在,当我在bitbucket网站上设置密码(也通过电子邮件验证)并尝试再次输入密码后,它提示我输入密码,然后输入密码。

截至2016年5月,bitbucket网页上的菜单位置图像-> http://ctrlv.in/747291


2

我有同样的问题。您需要在bitbucket设置中为sourcetree添加应用密码。点击菜单中的“ Bitbucket设置”,进入应用密码,创建应用密码。然后转到SourceTree并编辑您保存的密码


2

与之抗争了很长时间之后,似乎我发现了一些可行的方法。我正在优化网址以不包括用户名(将其保留为通用名称),但是身份验证对话框不断弹出:

在此处输入图片说明

我尝试了所有想到的方法,例如:

  1. 启用和禁用MFA(多因素身份验证)
  2. 创建应用密码(再次启用和禁用MFA)

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

基本上你必须

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

如果服务器将在响应中返回此密码,而不是建议使用应用程序密码,那将非常好...


1

在Mac上,我需要转到Preferences > Accounts,然后添加一个新帐户,Bitbucket Server并输入我公司的bitbucket服务器URL。然后,我必须选择HTTPS协议,然后输入我的用户名(不带@email)和密码。

另外,我还通过单击页面Set Default...底部的按钮将此新帐户设置为默认帐户Preferences > Account


1
  • 公司内部,但任何地方都适用。
    • 从Bitbucket注销(如果您正在使用)
    • 使用您的凭证登录
    • 返回控制台
    • 触发相同的命令
    • 它将要求输入密码-提供密码。
    • 你已准备好出发。

1

发生此问题的原因是您的git帐户和PC的密码可能不同。因此,请包含您的用户名,如以下示例所示:

https://myusername@bitbucket.org/...

https: //devi@bitbucket.org/...


0

以上都不对我有用-问题出在我的Sourcetree首选项中。在“网络”标签中,我在其中设置了“不包含以下URL的默认用户名:”。用户名之前输入错误的地方不正确-我将其设置为电子邮件地址,而不是用户名。我突出显示了条目,然后单击“删除”。然后,我返回到存储库页面并再次单击“推送”。推送时,它要求我提供完整的用户名和密码,我可以正确输入该用户名和密码-推送终于可以了。


0

对我来说,问题是我没有向Sourcetree添加帐户。

添加帐户使我可以推送到我的存储库:

工具>选项>身份验证>添加>刷新OAuth令牌

在此处输入图片说明


0

我尝试了这里给出的几乎所有解决方案。

对我有用的是我打开了GIT GUI,并在其中尝试了Push。要求输入凭据,输入正确的用户名和密码,它将再次开始工作。


0

我正在使用以下命令

git clone -b branch-name https://<username>@bitbucket.org/<repository>.git

使用用户名添加密码后,问题得到解决(请参见以下命令):

git clone -b branch-name https://<username>:<password>@bitbucket.org/<repository>.git


0

当域重置密码时,我遇到了同样的问题。我尝试了
(工具>选项>身份验证)中的几乎所有步骤。但是没有任何效果。最后,我从Atlassian社区页面得到了下面的答案,它奏效了。

对我唯一有效的方法是导航到C:\ Users \ USERNAME \ AppData \ Local \ Atlassian \ SourceTree并删除passwd文件

删除该文件后,我只是执行了“推送”操作,最后要求输入密码

https://community.atlassian.com/t5/SourceTree-questions/How-to-update-HTTP-S-credentials-in-sourcetree/qaq-p/297564

https://community.atlassian.com/t5/Sourcetree-questions/Getting-quot-fatal-Authentication-failed-for-quot-error/qaq-p/624663


0

即使我已添加个人访问令牌(如所示示例),使用Azure DevOps仍遇到此错误。

在此处输入图片说明

通过git pull -v从Sourcetree终端运行并通过该终端再次添加个人访问令牌来解决该问题。

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.