【问题标题】:Git and Bitbucket: unauthorized when pushingGit和Bitbucket:推送时未经授权
【发布时间】:2021-09-18 01:14:13
【问题描述】:

我在 BitBucket 中创建了一个存储库,并使用 SSH 克隆了它。在尝试 push 我对 BitBucket 的更改时,我收到以下错误:

未经授权

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

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

我已经尝试解决这个问题好几个小时了,不想再浪费时间了。令人惊讶的是,在 Google 上搜索时,我找不到任何有类似问题甚至相同错误消息的人。

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

更新

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

【问题讨论】:

标签: git ssh bitbucket atlassian-sourcetree


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢!我被困了一个多小时。
  • 从存储库中删除 ssh 密钥后,BitBucket 抱怨此消息并且不允许我将相同的密钥添加到我的配置文件/bitbucket 设置中:“有人已经将该密钥添加为访问存储库的密钥。”
  • 哈哈我在同一条船上..浪费了将近一个小时..
  • 这些设置隐藏在帐户配置文件图标 > 个人设置然后安全 > SSH 密钥下
  • 谢谢!为什么他们甚至在存储库中有该设置? :D
【解决方案2】:

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

它只提供此处所述的只读访问权限

Use access keys 获得对此存储库的只读访问权限。 详细了解using SSH keys.

解决方案: 在

中添加公共 ssh 密钥

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

【讨论】:

  • 天哪!我不知道是拥抱你还是打自己。嘿@serlingpa 将此作为公认的答案!
  • 使用 ssh -T git@bitbucket.org 测试您的密钥。就我而言,在我使用与我的个人资料 ssh 密钥相同的密钥删除所有 repo 后,问题解决了。
【解决方案3】:

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

Host <bitbucket host>
  IdentityFile <path to ssh private key>

【讨论】:

    【解决方案4】:

    我遇到了同样的问题,但我的解决方案略有不同:

    1. 通过ssh-keygen -t rsa 创建了新的 RSA 密钥对,如果需要,请使用密码
    2. 然后使用ssh-add ~/.ssh/&lt;your_private_rsa_key&gt; 将SSH 密钥添加到ssh-agent
    3. 将此 rsa 密钥添加到您的 bitbucket 帐户 Bitbucket -> 您的个人资料 -> SSH 密钥
    4. 我使用ssh -T git@bitbucket.org 登录到bitbucket

    这些步骤为我解决了问题。

    【讨论】:

      猜你喜欢
      • 2017-02-16
      • 2011-11-20
      • 2019-11-11
      • 2011-12-22
      • 2013-06-27
      • 2019-08-16
      • 1970-01-01
      • 2022-08-03
      相关资源
      最近更新 更多