通过浏览器中的PHP脚本访问bitbucket git repo
我正在尝试设置我的POST挂钩,以便在每次推送时自动更新服务器上的git repo。这一切都很好,当我在命令行上使用apache并执行脚本时,一切都很好——权限设置好了,ssh密钥工作了,它运行pull 但是,当我尝试通过浏览器运行相同的脚本时,我得到了一个权限被拒绝的错误-这里是浏览器中php脚本的输出:通过浏览器中的PHP脚本访问bitbucket git repo,php,git,bitbucket,ssh-keys,Php,Git,Bitbucket,Ssh Keys,我正在尝试设置我的POST挂钩,以便在每次推送时自动更新服务器上的git repo。这一切都很好,当我在命令行上使用apache并执行脚本时,一切都很好——权限设置好了,ssh密钥工作了,它运行pull 但是,当我尝试通过浏览器运行相同的脚本时,我得到了一个权限被拒绝的错误-这里是浏览器中php脚本的输出: $ echo $PWD /var/www/vhosts/dev-build $ whoami apache $ ssh -T git@bitbucket.org 2>&1 Pe
$ echo $PWD
/var/www/vhosts/dev-build
$ whoami
apache
$ ssh -T git@bitbucket.org 2>&1
Permission denied (publickey).
我和命令行上的用户“apache”是同一个用户,这一切都很好——我缺少什么?显然,当你把它全部写下来的时候,它就变得清晰了,但我还是会在这里回答,以防有人有同样的问题: 我确实使用密码短语生成了ssh密钥,然后为当前ssh会话存储了该密码短语。然而,当我注销然后再次登录时,我意识到它再次向我索要密码短语——我想当我输入一次密码短语时,它会自动保存它 因此,php脚本在自己的会话中从浏览器运行,没有密码短语,并抛出了一个错误
我用一个空的密码重新生成了ssh密钥,瞧,一切正常。尝试使用backticks而不是exec