3

我做了必要的步骤来创建一个 ssh 密钥,将公钥上传到 bitbucket ssh 密钥。然后我使用 https 克隆一个 repo。我注意到使用 git@XXX 进行克隆不起作用,并且它提供了与服务器的消息连接已过期。

如果我使用 https 克隆,则无需询问我的 bitbucket 用户名和密码,即可将 repo 克隆到我的本地计算机。当我更改本地 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.
4

3 回答 3

2

如果我理解正确,如果您使用 http(s) 链接,SSH 密钥不应该与该过程有任何关系。如果您的存储库是公开的,那么 http(s) 链接可能会授予您只读访问权限,这不会让您将任何内容推回。

简而言之,如果你想使用 ssh 密钥认证,你应该使用 ssh-link 即 git@XXX 克隆

于 2012-09-06T11:23:01.670 回答
2

诊断出问题后,我似乎无权访问子存储库“wiki”。我确实可以访问父 repo gnd,但由于某种原因,在 bitbucket 中,给定 bitbucket repo 下的 wiki repo 不可见,也无法通过 git 访问。但是我不确定这是否属实以及为什么不允许 wiki 文件夹 repo 尽管我有权访问它的主 repo gnd?

- -编辑 - -

当我们联系 bitbucket 支持团队时,他们确认他们存在通过 ssh 克隆 wiki 存储库的错误。以下是我们从 bitbucket 团队收到的消息。

I've tested this and shown that it is a problem with SSH cloning of wikis. You should be able to clone it over https for now. We have opened https://bitbucket.org/site/master/issue/4600/cannot-clone-a-public-wiki-over-ssh to get this fixed asap. I'll update you again once this is complete.

Cheers, Marcus Bertrand Bitbucket Support

于 2012-09-06T16:40:18.073 回答
1

如果您使用 bash 作为 shell,请尝试运行以下命令来诊断问题:

GIT_TRACE=2 git clone git@bitbucket.org:ianmayo/gnd.git/wiki
于 2012-09-06T11:58:52.883 回答