Не могу выполнить SSH из PHP - PullRequest
       25

Не могу выполнить SSH из PHP

0 голосов
/ 02 октября 2010

Я не могу выполнить команду ssh из функций PHP, таких как exec, system, 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" не создается ..

1 Ответ

1 голос
/ 02 октября 2010

Обратите внимание, что функции php exec захватывают только стандартный вывод stdout, а не вывод ошибок stderr. Вы должны перенаправить stderr на stdout при выполнении вашей команды, т.е. passthru("ssh ... 2>&1");.

...