PHP-无法执行“ssh-add -l”


PHP- unable to execute `ssh-add -l`

我无法通过php执行ssh-add

$res=`ssh-add -l`;
echo $res;

但是$res是一个空字符串。有人遇到过同样的问题吗?

您应该使用ssh-add的完整路径(如/usr/bin/ssh-add)。

同时,确保www-data(或调用PHP进程的任何其他用户)具有启动该进程的权限。

我找到了一个解决这个特殊问题的方法。

我最初做的是

$res1=`eval '`ssh-agent'``;
$res2=`ssh-add -l`;

然而,由于某些原因,PHP似乎无法单独完成此操作,因此我将它们组合成一个命令

$res=`eval '`ssh-agent'`; ssh-add -l`;

瞧!这招很管用。我想这两者需要结合在一起