【问题标题】:Create SSH keys for Apache user on CentOS在 CentOS 上为 Apache 用户创建 SSH 密钥
【发布时间】: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 文件?身份证。

标签: php git apache ssh centos


【解决方案1】:
mkdir /nobody/.ssh
chown nobody -R //nobody/.ssh
chmod 777 /nobody/.ssh
ssh-add /nobody/.ssh/id_rsa

sudo -u nobody ssh-keygen
(when prompted specify save path in /nobody/.ssh)

仅当密钥密码需要存储在钥匙串中时才会出现问题,否则它会起作用。

【讨论】:

    猜你喜欢
    • 2011-11-10
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    • 2012-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    相关资源
    最近更新 更多