【问题标题】:EC2 can't SSH into githubEC2 无法通过 SSH 连接到 github
【发布时间】:2012-09-04 10:55:05
【问题描述】:

正在克隆到网站... 权限被拒绝(公钥)。 致命:远端意外挂断

即使我已经生成了一个 SSH 密钥并将 SSH 密钥添加到 Github 上允许的密钥中,但在我的 EC2 实例上不断得到它。

当我测试身份验证时,我得到了这个:

输入密钥“/home/ec2-user/.ssh/id_rsa”的密码: 嗨戴夫休伊!您已成功通过身份验证,但 GitHub 不提供 shell 访问权限。

但是当我尝试克隆一个 repo 时,没有这样的运气。

【问题讨论】:

    标签: git ssh github amazon-ec2


    【解决方案1】:

    切换到root用户
    sudo su
    

    然后使用 Github 提供的以下页面重新设置我的 SSH 密钥 - https://help.github.com/articles/generating-ssh-keys

    之后工作正常。

    【讨论】:

    • 欣赏这一点。使用的是“ubuntu”用户,需要使用root用户。
    • 那么,出于好奇,为什么ubuntu用户不能克隆而root用户可以呢?
    【解决方案2】:

    您应该考虑使用代理转发,而不是处理多个密钥并将 ssh github 密钥保留在您的 EC2 实例上。这改变了我的部署方式。

    https://help.github.com/articles/using-ssh-agent-forwarding

    通过代理转发,您实际上是在登录 EC2 实例时使用本地密钥。如果其他人登录到实例,如果他们无权访问它,他们将无法拉/推回购。

    简单、干净、安全。

    您必须在远程主机上拥有 SSH 密钥的唯一充分理由是进行持续集成或自动化部署。在这种情况下,您应该使用部署密钥。

    【讨论】:

    • 完全忘记了我能做到这一点,干杯!以前也用过。无论如何,我现在已经解决了这两个角度:)
    • "使用部署密钥只能拉取。"? GitHub docs 说“部署密钥始终提供对存储库的完全读/写访问权限。”
    猜你喜欢
    • 2015-10-21
    • 2011-10-30
    • 2020-03-13
    • 2019-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 2022-10-14
    相关资源
    最近更新 更多