[英]Push to github from EC2 ubuntu
当我运行以下命令时,它似乎成功了:
$ 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
有人可以帮忙吗?
您在 EC2 上运行的事实根本不重要。 您在这里面临 ssh 密钥设置不正确和/或最初使用错误用户克隆回购的问题。
无论您做什么,绝对不需要使用 sudo。 您应该能够使用普通用户克隆回购协议。 如果这不起作用,请确保为此用户生成一个新的 ssh 密钥并将其添加到存储库中。 如果
ssh -T git@github.com
再次为这个用户工作,尝试再次克隆回购协议。 如果可行,请检查您是否可以推动它。
如果您仍然遇到问题,请确保您遵循了GitHub 提供的 Linux 的安装指南。 那里写的所有内容也适用于没有图形前端的 Ubuntu 版本。
我在我的 AWS EC2 Ubuntu 实例上遇到了同样的问题,我只是通过从这篇博文向正确的方向推动来解决它。
对我来说发生的事情是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
所有,并且必须是运行该命令的用户。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.