【发布时间】:2014-03-03 18:26:45
【问题描述】:
我需要为 Apache 用户“nobody”生成 SSH 密钥。
我正在尝试让 PHP 脚本执行一些 Git 命令以从 BitBucket (http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/) 中提取一个 repo
但是,当 PHP 脚本通过 apache 运行时,我遇到了麻烦,而且用户似乎是“nobody”。因此它无法通过 SSH 连接。如果我通过命令行运行脚本,Apache 用户似乎是“root”并且工作正常。
php 脚本需要执行 Git 并使用 SSH 访问 BitBucket,但是我在服务器上拥有的 SSH 密钥是针对用户“root”的。
如何为非交互式用户:nobody 创建公共和私有 SSH 密钥?
root@server [~]# lsof -i | grep :http
httpd 16942 nobody 5u IPv4 23590964 0t0 TCP *:http (LISTEN)
httpd 16942 nobody 6u IPv4 23590970 0t0 TCP *:https (LISTEN)
httpd 16944 nobody 5u IPv4 23590964 0t0 TCP *:http (LISTEN)
..... and more
【问题讨论】:
-
您能告诉您的 ssh 客户端使用密钥吗?如果您只是在运行 ssh,则可以将 -i 参数传递给它以指定身份。然后你可以生成密钥并将它们放在用户可以访问的地方。
-
嗯...不是SSH客户端,是Git客户端
-
也许创建一个 /home/nobody/.ssh 目录,其中包含一个 id_rsa 文件?身份证。