这是我第一次尝试使用GitHub服务挂钩自动部署到我的服务器;在慢慢地完成每一个障碍之后,看起来最后一个是让我进入的那个。
我的git存储库初始克隆到我的Web服务器上是通过SSH完成的,我很确定这与我现在的问题有关。我目前的脚本是基本的:
<?php
echo(shell_exec('git pull 2>&1'));
?>
但它返回“Permission denied(publickey)。致命:远程端意外挂断”;我知道脚本无法放入我创建的SSH密码中。我试着研究如何通过它,但我甚至不知道那些是否是正确/安全的事情。
那么可以将其修改为可以从这里开始工作,还是需要回溯一些步骤并逐步使用SSH开始?
由于
答案 0 :(得分:0)
您可以尝试替换(在您的git.config文件中)
ssh://github.com/<username>/<project>.git
或
https://github.com/<username>/<project>.git
与
git@github.com:<username>/<project>
答案 1 :(得分:0)
Apache可能与通常通过CLI运行git的用户不同。您可能需要将.ssh/id_rsa
文件从/home/regularuser/
复制到/home/webuser/
。