【问题标题】:AWS EC2 git clone permission deniedAWS EC2 git clone 权限被拒绝
【发布时间】:2025-12-29 18:50:06
【问题描述】:

我在 AWS EC2 中有一个 Ubuntu 实例。 在authorized_keys 文件的.ssh 文件夹中,我看到我有在AWS 中生成的key_name。 我把这个公钥添加到 SSH 偏好下的 gitlab 和 github 帐户上。 当我尝试使用 ssh 克隆我的仓库时,我仍然被拒绝。

git clone git@gitlab.com:[username]/[project].git

我还缺少什么?

【问题讨论】:

  • 您的私有密钥也在实例上?您还可以提供完整的错误消息吗?
  • ssh -Tv git@github.com ? ssh -Tv git@gitlab.com ?授权为username ?

标签: amazon-web-services github amazon-ec2 gitlab permission-denied


【解决方案1】:

GitHub现在有了一种新的账户认证方式,在执行私有项目的Git Clone时,你需要传递之前注册在你账户PASSWORD中的SSH密钥,而不是你自己的密码。

在下面的链接中,您可以更好地理解并了解如何注册您的 SSH 密钥以进行身份​​验证: https://docs.github.com/en/enterprise-server@3.0/github/authenticating-to-github/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

【讨论】:

    【解决方案2】:

    我将尝试更好地解释我的问题是什么以及我是如何解决它的。 我在 AWS EC2 中创建了一个 Linux 实例,还生成了我的私钥名称,我可以使用它 ssh 进入该实例。 在实例内部的 .ssh 文件夹中,有一个文件名为 authorized_keys ,它保存着公钥。 我以为我可以把这个密钥添加到我的 gitlab/github 帐户中,但这不起作用。 (也许我对ssh还缺乏一些基本的了解……) 有效的是在 EC2 Linux 实例中生成一个新的密钥对,并将该公钥放在 gitlab/github 中。 谢谢。

    【讨论】:

    • 当您在 EC2 中创建密钥对时,您可能使用了默认选项 RSA,它生成 2048 位 SSH-2 RSA 密钥,而不是 ED25519。 GitHub 支持 ED25519 和 4096 位 RSA。