由于ssh密钥,无法找到shell_exec(' git pull')的方法

时间:2017-02-03 11:19:17

标签: git ssh

所以我已经从我的服务器设置了git pull Webhook。

当我进行测试时,我以:

结尾
  

主机密钥验证失败。   致命:远程端意外挂断

但是我已经插入了一个ssh-key,因为我可以从目录中git pull

编辑:

好的,所以我认为这是由于apache用户问题。

我试图sudo -u www-data git pull origin master,但我有以下错误:

  

无法将主机添加到已知主机列表(/var/www/.ssh/known_hosts)。

获得这些许可:

root@vps362370:/var/www/.ssh# ls -al
total 16
drwxr-xr-x 2  777 root 4096 Feb  3 14:58 .
drwxr-xr-x 3 root root 4096 Feb  3 10:06 ..
-rw------- 1  777 root 1675 Feb  3 14:48 id_rsa
-rw------- 1  777 root  404 Feb  3 14:48 id_rsa.pub
-rw------- 1  777 root    0 Feb  3 14:58 know_hosts
root@vps362370:/var/www/.ssh# cd ../
root@vps362370:/var/www# ls -al
total 12
drwxr-xr-x  3 root root 4096 Feb  3 10:06 .
drwxr-xr-x 14 root root 4096 Feb  3 12:41 ..
drwxr-xr-x  2  777 root 4096 Feb  3 14:58 .ssh

应该设置什么样的权限? (我试过777或600但似乎没有工作)。

编辑2:

我设法将git添加到我的已知主机中 usermod -a -G www-data root 然后

chgrp www-data /var/www/.ssh
chmod g+rwxs /var/www/.ssh
chmod 777 /var/www/.ssh/known_host

但现在我得到了:

  

许可被拒绝(公钥)。

即使专门将我的/var/www/.ssh/id_rsa.pub添加到github部署密钥之后。

我的.git / config文件:

root@vps362370:/var/Smart-Pix# cat .git/config
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = git@github.com:Smart-Pix/Smart-Pix.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

0 个答案:

没有答案