【问题标题】:Access bitbucket git repo via PHP script from browser从浏览器通过 PHP 脚本访问 bitbucket git repo
【发布时间】:2013-12-22 12:36:11
【问题描述】:

我正在尝试设置我的 POST 挂钩,以便在每次推送时自动更新服务器上的 git 存储库。这一切正常,当我在命令行上是用户 apache 并执行脚本时,一切正常 - 设置了权限,ssh 密钥工作并运行拉取。

但是当我尝试通过浏览器运行相同的脚本时,我得到一个权限被拒绝的错误 - 这里是浏览器中 php 脚本的输出:

$ echo $PWD
/var/www/vhosts/dev-build
$ whoami
apache
$ ssh -T git@bitbucket.org 2>&1
Permission denied (publickey).

我是命令行上的同一个用户“apache”,一切都很好 - 我错过了什么?

【问题讨论】:

  • 尝试使用反引号代替 exec

标签: php git bitbucket ssh-keys


【解决方案1】:

显然,当你把它写下来的那一刻,它就变得很清楚了,但无论如何我都会在这里回答,以防万一有人遇到同样的问题:

我确实生成了带有密码短语的 ssh 密钥,然后为当前的 ssh 会话存储了这个密码短语。但是,当我注销然后再次登录时,我意识到它再次要求我输入密码 - 虽然我输入一次它会自动保存它。

所以 php 脚本在它自己的会话中从浏览器运行,没有密码并抛出错误。

我使用空密码重新生成了 ssh 密钥,瞧 - 一切都按预期工作。

【讨论】:

    猜你喜欢
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 2014-08-20
    • 1970-01-01
    • 2016-05-25
    • 2018-01-16
    • 1970-01-01
    • 2011-09-14
    相关资源
    最近更新 更多