我已经设置了一个 PHP 脚本来执行 GitHub 拉取:
这包含在我的 Github 文件夹中/home/mysite/public_html/github
github_pull.php
<?php
echo `git pull 2>&1`;
?>
我的服务器已经有 SSH 公钥,就像我执行git pull
从航站楼出发:
ssh [email protected] /cdn-cgi/l/email-protection
cd public_html/github
git pull
这工作成功(但是我必须先输入 rsa 密钥的密码) 更新:不再需要密码(见评论)
然而,当我跑步时github_pull.php
我收到以下错误:
权限被拒绝(公钥)。 fatal:远端意外挂断
SSH 密钥包含在/home/mysite/.ssh/id_rsa
当我跑步时
<?php echo `whoami`;
它输出mysite
正如评论所述,首先尝试 https 网址:
ssh [email protected] /cdn-cgi/l/email-protection
cd public_html/github
git remote set-url origin https://github.com/username/reponame
git pull
这比修改 ssh 密钥容易得多,尤其是当它们受密码保护时。
If you must使用 ssh 密钥,那么你必须知道default密钥的位置是:
~/.ssh/id_rsa(.pub)
如果执行脚本的用户是 'mysite
',然后它会寻找~mysite/.ssh/id_rsa
.
并且您需要确保ssh-agent
正在运行为mysite
用户。这就是为什么一开始使用私钥尝试会更容易not密码保护。
如果您的 ssh 密钥在其他地方,那么您将需要:
~mysite/.ssh/config
在该配置文件中,如此处图示 https://stackoverflow.com/a/14423667/6309,您可以指定要使用的密钥的位置和名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)