Git和Bitbucket:推送时未经授权

ser*_*gpa 7 git ssh bitbucket atlassian-sourcetree

我在BitBucket中创建了一个存储库,并使用SSH对其进行了克隆。尝试对pushBitBucket 进行更改时,出现以下错误:

未经授权

致命:无法从远程存储库读取。

我使用创建了SSH密钥ssh-keygen,并将生成的公共密钥复制到BitBucket。我已经下载了SourceTree,看看是否有一些工具可能会有所帮助,但是它有同样的问题。

我已经尝试修复了几个小时,不想再浪费时间了。令人惊讶的是,在Google上进行搜索时,我找不到任何存在类似问题甚至错误消息的人。

请帮忙!我在Mac OS X上运行,并尝试从Keychain Access中删除GitHub凭据,但这不能解决问题。有人知道我可能做错了吗?

更新资料

我在GitHub上使用了完全相同的客户端配置,并且没有遇到任何问题,因此我怀疑我缺少了BitBucket上的某些配置。

小智 21

只是遇到了同样的问题并解决了。

我的问题是我通过该回购的“设置”将生成的公共ssh密钥添加到了回购本身。

解决方案是从存储库本身删除ssh密钥。点击您的帐户。通过帐户的“设置”添加ssh密钥。

  • 谢谢你!我已经被困了一个多小时了。 (4认同)

Ome*_*lam 6

问题:您的公共SSH密钥已添加到 REPO->设置->访问密钥中

如此处所述,它仅提供只读访问权限

使用访问键获得对该存储库的只读访问权。了解有关使用SSH密钥的更多信息

解决方案:在其中 添加公共ssh密钥

您的个人资料-> bitbucket设置-> SSH密钥

  • 天啊!我不知道该拥抱你还是要打我自己。嘿,@ serlingpa将此设为可接受的答案! (2认同)

小智 0

您可以检查是否使用 HTTPS 或 SSH 克隆存储库。假设您使用 SSH,您可以尝试在 ~/.ssh/config 中明确设置 ssh 客户端配置并定义要使用的主机/私钥:

Host <bitbucket host>
  IdentityFile <path to ssh private key>
Run Code Online (Sandbox Code Playgroud)