【问题标题】:Owner can't push to organization repository所有者无法推送到组织存储库
【发布时间】:2019-03-26 23:01:02
【问题描述】:

今天我已将我的私人 github 存储库移至新创建的组织(我是该组织的所有者)。我已将远程来源更改为 git@github.com:organization/repo.git。我无法推送到远程,因为我有一个错误提示

错误:MyGithubUsername 拒绝组织/repo.git 的权限。

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

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

我已检查我的帐户是组织的所有者并且存储库存在。

【问题讨论】:

  • 你确定组织和repo创建成功了吗? GitHub 在过去约 20 小时内出现了重大服务问题。
  • 您确定移动的 repo 仍然知道您的 ssh 密钥吗?
  • 我的密钥 id_rsa.pub 已经添加到我的 github 帐户中。我又添加了,但问题依旧。

标签: github permissions push organization


【解决方案1】:

我发现这个问题的解决方案是创建一个 P.A.T(个人访问令牌)并在推送到存储库时在我的密码位置使用它。

创建 P.A.T 的方法是:

Github.com >登录>设置>开发者设置>个人访问令牌>生成新令牌。我为我的令牌选择了所有选项,然后复制了生成的令牌,并在我被要求输入凭据时将其用作我的密码。

这花了我几个小时才弄清楚,非常令人沮丧。我希望这些信息可以帮助其他人!

【讨论】:

    【解决方案2】:

    所以我最近使用 2018 年生成的 ssh 密钥遇到了这个问题,而 ephhin dantzler 的回答为我指明了正确的方向。我的个人 ssh 密钥由 sourcetree 添加到 github,并且 sourcetree 不是我的组织页面上的授权第三方应用程序,因此使用该 ssh 密钥推送的授权被拒绝。我只需要授予第三方对组织上 sourcetree 的访问权限,现在我可以推送到其中包含的 repos。

    【讨论】:

      【解决方案3】:

      对我来说,设置和我的钥匙一切正常。然而,Github Desktop 无法向/从远程推送(甚至获取)远程,因为它不信任 IP 地址。为了查找和修复,我切换到 CLI 并运行:

      git fetch
      

      回复了

      The authenticity of host 'github.com (140.82.114.4)' can't be established.
      RSA key fingerprint is SHA256:<long string>.
      Are you sure you want to continue connecting (yes/no)? 
      

      因此揭示了问题。 Github 已经更改了他们的 IP,或者我没有在我的新机器上连接到这个 repo(使用旧密钥)。回复 yes 将 IP 添加到我的 .ssh/known_hosts 中,然后 Github Desktop 再次正常工作。

      Warning: Permanently added 'github.com,140.82.114.4' (RSA) to the list of known hosts.
      

      【讨论】:

        【解决方案4】:

        我今天遇到了这个问题,正如 Ephhin Dantzler 所说,禁用 3rd-party 访问限制解决了这个问题。

        但是,我不太喜欢那个解决方案,所以我开始阅读文档。在 About OAuth App access reistrictions 页面上,Github 提到启用 3rd 方限制将被阻止:

        在 2014 年 2 月之前创建的 SSH 密钥会立即失去对组织资源(包括用户和部署密钥)的访问权限。

        我在此之前就创建了我的密钥,所以我只是创建了一个新的 SSH 密钥并在 their instructions 之后添加到 Github。

        之后,即使启用了第 3 方访问限制,我也能够与我组织的私有存储库进行交互。

        【讨论】:

        • 无需禁用第 3 方访问限制。显然问题在于 ssh 加密,因此生成一个新的密钥对(希望使用 ed25519)并将其上传到 github 可以解决问题。
        • @GabrielCabrera 对——正如我的帖子所述,这可能是您的密钥太旧的情况。
        【解决方案5】:

        “禁用第 3 方访问限制”

        atom/github #1010.422882361

        【讨论】:

          【解决方案6】:

          使用 GitHub Desktop..我遇到了一个奇怪的错误,我是组织的所有者,并且是我组织的 repo 的 repo 管理员(我拥有完整的权限)。我决定进入命令行,然后从那里推送(键入“git push”)并修复它! 它推送了,我现在可以再次从 GitHub Desktop 推送。 很奇怪,但希望它对某人有所帮助!

          【讨论】:

            【解决方案7】:

            我设法找到了答案。也许我做错了什么,或者可能是因为 github 问题,但即使我被声明为 Organization 的所有者,我也只有读取存储库的权限。我无法更改自己的权限,因为“您无法更改所有者的权限”。我将所有成员的权限更改为管理员,因为目前我是组织中唯一的一个成员,这没什么大不了的。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-14
              • 1970-01-01
              • 1970-01-01
              • 2021-12-31
              • 1970-01-01
              相关资源
              最近更新 更多