无法git push到Bitbucket:未经授权-致命:无法从远程存储库读取

Zan*_*non 7 git bitbucket

我无法推送到Bitbucket,这是错误消息:

> git push origin master:master
未经授权的
致命消息:无法从远程存储库读取。

请确保您具有正确的访问权限,并且存储库存在。

调试时,在ssh到bitbucket时收到以下消息:

>
通过部署密钥验证的ssh -T bitbucket.org 。

您可以使用git或hg连接到Bitbucket。Shell访问被禁用。

此部署密钥具有对以下存储库的读取访问权限:
my-username / my-repository

该消息的读取访问权限部分可疑。

PS:我知道有很多类似的问题,但是我在这里找不到确切的错误消息,只能在外面找到解决方案。这就是为什么我要自我回答以帮助他人。

Zan*_*non 16

我能够使用以下建议解决此问题:

  1. 从存储库中删除SSH密钥。(单击回购名称>设置>访问密钥)
  2. 将SSH密钥添加到“帐户设置” SSH密钥。(单击您的头像> Bitbucket设置> SSH密钥)

因此,将密钥添加到存储库下只会给您只读访问权限。要进行读写访问,您需要在帐户下添加密钥。

公平地说,当将密钥添加到存储库时,Bitbucket警告有关只读访问: 该图显示了有关只读访问的位桶消息警告

  • 他们可以更好地解释这一点。大多数时候,有人想添加一个按键来推送而不是只读。 (10认同)
  • 我花了一段时间才找到这些设置。对于那些找不到它们的人,请访问 bitbucket.org,单击屏幕左下角的头像,选择“个人设置”,然后选择“SSH 密钥” (7认同)
  • 你救了我的命。伟大的! (3认同)
  • 救了我一命!谢谢! (2认同)
  • 进一步@Eddy,您需要访问您的 Bitbucket 个人资料而不是 Atlassian 个人资料。这是当前的[链接](https://bitbucket.org/account/) (2认同)
  • 微小但重要的补充。如果您将公钥添加到 Bitbucket 中的某个存储库中,它不会让您在项目级别添加相同的密钥。正如其他人所说,这个密钥只能用于只读(git pull)并且 Bitbucket 检查唯一性。您可以生成第二对密钥或删除密钥并将其添加到读写站点访问权限 (2认同)
  • 您的帐户 ssh 设置的链接 https://bitbucket.org/account/settings/ssh-keys/ (2认同)