远程Git拉使用GitHub的部署键 - 被拒绝的权限

问题描述:

我做了以下步骤设置SSH部署按键与我们的混帐回购协议为它能够与git拉没有用户名和密码:远程Git拉使用GitHub的部署键 - 被拒绝的权限

注:我在AWS EC2/Ubuntu的14.04.3

  1. 运行ssh-keygen -t rsa -b 4096 -C "[email protected]"这些,然后保存为id_rsa和在〜/ .ssh/
  2. 部署公钥id_rsa.pub(id_rsa.pub)是在GitHub的加入在线UI部署密钥部分
  3. 该目录是在/ var/WWW /目录中已克隆,这是通过HTTPS工作都好拉
  4. 尝试sudo git pull [email protected]:ownersUsername/OurRepo.git并获得以下错误

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

请确保您拥有正确的访问权限 并存在存储库。

另一个注意:该存储库在其他用户帐户下是私有的。

而且,当我尝试ssh [email protected]我得到:

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

而部署密钥出现在使用中。已经在这个问题上超过4个小时了,任何将非常感激,谢谢。

问题是您在使用sudo,它以root用户身份运行该命令,它会尝试使用根用户的密钥而不是用户的密钥。

你想要做的是:

  1. /var/www
  2. 用户/组写访问运行拉/克隆是用户没有根。
+0

好极了!非常感谢你的魅力! –

当你做一个混帐拉你不需要链接。

git pull <remote> <branch> 

您需要为克隆命令

sudo git clone [email protected]:ownersUsername/OurRepo.git 

的完整URL测试,如果你的ssh关键是用好这样的:

git fetch --all --prune 
+0

嗨,即使试图克隆时,我仍然看到错误: 权限被拒绝(publickey)。 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限 并存在存储库。 –

+0

你是否落后于代理?同时检查你的.gitconfig文件以验证你没有任何协议配置(htp/https/git) – CodeWizard