使用GitHub部署密钥进行Git远程拉取 - 权限被拒绝

Jam*_*ino 3 linux git ssh ubuntu github

我已经完成了以下步骤,使用我们的git repo设置ssh部署密钥,以便能够在没有用户名和密码的情况下进行git pull:

注意:我在AWS EC2/Ubuntu 14.04.3上

  1. 运行ssh-keygen -t rsa -b 4096 -C "ownersEmail@gmail.com"这些然后保存为〜/ .ssh中的id_rsa和id_rsa.pub /
  2. 部署公钥(id_rsa.pub)添加在部署密钥部分的GitHub联机UI上
  3. 该目录已经克隆在/ var/www /目录中,这可以通过HTTPS完成所有工作
  4. 尝试sudo git pull git@github.com:ownersUsername/OurRepo.git并获得以下错误

权限被拒绝(publickey).致命:无法从远程存储库读取.

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

另请注意:此存储库在其他用户帐户下是私有的.

此外,当我尝试ssh git@github.com我得到:

您好userName /回购!您已成功通过身份验证,但GitHub不提供shell访问权限.与github.com的连接已关闭.

部署密钥随着使用而出现.现在已经讨论了这个问题超过4个小时,非常感谢,谢谢.

One*_*One 7

问题是你正在使用sudo,它以root身份运行命令,并且它将尝试使用root的密钥而不是用户的密钥.

你想要做的是:

  1. 授予您的用户/组写入权限 /var/www
  2. 运行pull/clone是用户不是root用户.