Bitbucket git推送认证失败(Mac OS X)

3
我采取了必要的步骤创建了ssh密钥,将公钥上传到Bitbucket SSH密钥。然后我使用https克隆一个仓库。我注意到使用git@XXX克隆不起作用,并且会出现连接服务器过期的消息。
如果我使用https克隆,则无需询问我的Bitbucket用户名和密码即可将存储库克隆到本地计算机。当我更改本地git目录并想要推回Bitbucket存储库时,我总是收到“身份验证失败”的消息。我无法理解为什么会收到此消息?当我git push时,命令行(mac os x)会提示我输入bitbucket.org的用户名和密码,我输入正确的bitbucket用户名/密码,但始终收到“身份验证失败”的消息。
我不确定自己做错了什么,也不知道如何解决这个问题。
---编辑---
以下是我执行以下命令后得到的结果:
git clone git@bitbucket.org:ianmayo/gnd.git/wiki
Cloning into 'wiki'...
conq: repository access denied.
fatal: The remote end hung up unexpectedly

当我测试连接到Bitbucket时,它似乎正确验证了我的身份:

ssh -T git@bitbucket.org
conq: logged in as othmanelmoulat.

You can use git or hg to connect to Bitbucket. Shell access is disabled.
3个回答

2

如果我理解正确,如果您使用http(s)链接,则SSH密钥与该过程无关。如果您的存储库是公共的,则http(s)链接可能会给您只读访问权限,这将不允许您推送任何内容。

简而言之,如果您想使用SSH密钥身份验证,应使用ssh链接进行克隆,即git@XXX。


这是我执行以下命令后得到的结果:git clone git@bitbucket.org:ianmayo/gnd.git/wiki Cloning into 'wiki'... conq: repository access denied. fatal: The remote end hung up unexpectedly - othman
你可以试试不带结尾的“/wiki”,即只输入:“git clone git@bitbucket.org:ianmayo/gnd.git”。 - Daniel Landau
@DDaniel:请看下面我的答案。在Bitbucket中通过ssh克隆维基似乎是一个bug。 - othman

2
诊断问题后,似乎我没有访问子仓库“wiki”的权限。我可以访问父仓库“gnd”,但是在Bitbucket中,给定Bitbucket仓库下的wiki仓库既不可见也不可通过Git访问。然而,我不确定这是否正确,以及为什么尽管我有其主要仓库“gnd”的权限,但不允许访问wiki文件夹仓库?
---编辑---
当我们联系Bitbucket支持团队时,他们确认通过SSH克隆wiki仓库存在错误。以下是我们从Bitbucket团队收到的消息。
“我已经测试过了,并显示出使用SSH克隆维基的问题。您现在应该能够通过https克隆它。我们已经打开了https://bitbucket.org/site/master/issue/4600/cannot-clone-a-public-wiki-over-ssh来尽快解决此问题。完成后,我会再次更新您。”
祝好,Marcus Bertrand Bitbucket支持

1
如果您正在使用bash作为您的shell,请尝试运行以下命令来诊断问题:
GIT_TRACE=2 git clone git@bitbucket.org:ianmayo/gnd.git/wiki

经过诊断问题,似乎我没有访问子仓库"wiki"的权限。我确实可以访问父仓库"gnd",但由于某种原因,在Bitbucket中给定的Bitbucket仓库下的wiki仓库既不可见也无法通过git访问。 - othman
@user1338062,这并没有解决问题,但是跟踪过程非常有趣。 - nkh

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