【问题标题】:Push to github from EC2 ubuntu从 EC2 ubuntu 推送到 github
【发布时间】:2012-04-21 17:29:54
【问题描述】:

当我运行以下它似乎成功:

$ sudo ssh -T git@github.com
Hi x! You've successfully authenticated, but GitHub does not provide shell access.

但是,当我从我的仓库中执行 sudo git push 时,我得到它不起作用

Permission denied (publickey).
fatal: The remote end hung up unexpectedly

有人可以帮忙吗?

【问题讨论】:

  • 您确定您的密钥已获得特定 repo 的授权吗?
  • 我该如何检查这个?我的意思是我自己在 Mac 上创建了 repo,然后在 ubuntu 实例中克隆了 repo。现在我正在尝试从 ubuntu 实例推送。
  • 嗯,我想我可能知道这个问题。它可能与我的 .git/config 有关?
  • 不确定。如果钥匙没问题,你应该很好。顺便说一句,你为什么要 sudo 来获取 ssh 的东西?
  • 这是我获得权限的唯一方法 ~/ 不让我做任何事情。无论哪种方式 .pub 密钥都在正确的位置,所以不确定它是否重要?

标签: git ubuntu github amazon-ec2


【解决方案1】:

我在我的 AWS EC2 Ubuntu 实例上遇到了同样的问题,我最终通过 blog post 朝着正确的方向推动解决了这个问题。

发生在我身上的是root 可以访问我试图克隆到的文件夹。

drwxr-xr-x 2 root root 4096 Apr 25 00:51 sites

因此,我不得不执行sudo git clone ... 命令,因为我没有作为默认用户对该文件夹的写入权限。

我需要做的就是授予自己对 /sites 文件夹的写入权限

sudo chown -R ubuntu /sites

这让我可以在 git clone... 命令中省略 sudo,它以用户 ubuntu 运行 git 命令。

这为我解决了这个问题,我认为这是因为我的 ~/.ssh 文件夹中的文件归 ubuntu 所有,并且必须是运行该命令的用户。

【讨论】:

    【解决方案2】:

    您在 EC2 上运行它的事实根本不重要。您在这里面临 ssh 密钥设置不正确和/或最初使用错误用户克隆 repo 的问题。

    无论你做什么,绝对不需要使用 sudo。您应该能够使用普通用户克隆 repo。如果这不起作用,请确保为该用户生成一个新的 ssh 密钥并将其添加到 repo。如果

    ssh -T git@github.com
    

    再次为该用户工作,请尝试再次克隆 repo。如果可行,请检查是否可以推送。

    如果您仍然遇到问题,请确保您关注了install guide for Linux provided by GitHub。那里编写的所有内容也适用于没有图形前端的 Ubuntu 版本。

    【讨论】:

      猜你喜欢
      • 2022-12-11
      • 2019-03-28
      • 2013-08-04
      • 2020-01-15
      • 2012-01-20
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      • 2013-06-26
      相关资源
      最近更新 更多