所以我已经从我的服务器设置了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但似乎没有工作)。
我设法将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