0

我似乎无法从任何 PHP 函数(如execsystem等)执行 ssh 命令passthru

我什至尝试过,/bin/ssh但是没有显示输出

有任何想法吗?su - www-data我可以通过执行“ ”然后尝试 ssh来确认这一点,这意味着 apache 用户可以访问 ssh..

谢谢

更新:对不起,看来 ssh 运行正常,是远程命令没有运行。例子:

$remote_command = "/usr/bin/ssh -i /home/www-data/id_rsa testuser@10.0.1.10 'echo hi > /home/testuser/test'";
passthru($remote_command);

我在远程服务器上看到流量,但是没有创建新文件“test”..

4

1 回答 1

1

请注意,php exec 函数只捕获标准输出stdout,而不是错误输出stderr。您应该在执行命令时重定向stderrstdout,即passthru("ssh ... 2>&1");.

于 2010-10-01T23:03:24.063 回答