我似乎无法从exec
,system
,passthru
等任何PHP函数执行ssh命令。
我甚至尝试了/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”..
答案 0 :(得分:1)
请注意,php exec函数仅捕获标准输出stdout
,而不是错误输出stderr
。执行命令时,您应该将stderr
重定向到stdout
,即passthru("ssh ... 2>&1");
。