dputlf5431 2017-10-16 11:18
浏览 46

如何让ssh-agent访问由php-data(apache)执行的php脚本?

Is there a way, to give www-data (apache) access on ssh-agent? I have a simple php (cli) script, which simply connects a remote ssh server and run a simple command. On CLI I first start ssh-agent and load key which I protected by a passphrase.

Load agent a key:

# eval $(ssh-agent -s)
# ssh-add /root/.ssh/id_rsa

PHP CLI script:

#!/usr/bin/php
<?php

$connection = ssh2_connect('host', 22);

if (ssh2_auth_agent($connection, 'username')) {
  echo "Authentication Successful!
";
} else {
  die('Authentication Failed...');
}

$stream = ssh2_exec($connection, 'sh int status');
stream_set_blocking($stream, true);
$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);

echo stream_get_contents($stream_out);

On CLI this works fine, but when I run the above snippet under apache, I can't authenticate on remote ssh host. I think the issue is, that the php/apache has no access on the ssh-agent.

My question: is there a way to start ssh-agent and load key for apache, so that apache has access on it?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
    • ¥20 Java-Oj-桌布的计算
    • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
    • ¥20 有人知道这种图怎么画吗?
    • ¥15 pyqt6如何引用qrc文件加载里面的的资源
    • ¥15 安卓JNI项目使用lua上的问题
    • ¥20 RL+GNN解决人员排班问题时梯度消失
    • ¥60 要数控稳压电源测试数据
    • ¥15 能帮我写下这个编程吗
    • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路