SSH, не кажущийся работать в сценарии удара, названном через веб-сервер

Существует "Удобный для пользователя svn" USVN. Я думаю, что Вы найдете, что большая часть общественного усилия для чего-то вроде этого является небольшой - SVN является сохраняемым actuvely, но административные средства являются одной частью, которые не делают. Они имеют тенденцию быть записанными однажды и работать навсегда, таким образом, эти инструменты GUI не должны изменяться также. Таким образом - не волнуются слишком много о том, насколько большой сообщество в этом случае.

3
задан 13 January 2012 в 21:40
4 ответа

Вы можете попробовать добавить

 </dev/null

в конец вызывающих ошибку команд только в том случае, если каким-то образом командам требуется ввод.

2
ответ дан 3 December 2019 в 05:15

Где хранится закрытый ключ ssh, в файле ~ / .ssh / id _... пользователя, от имени которого вы запускаете команду?

Если да, то apache не работает как ваш пользователь. Apache должен иметь доступ к копии ключа ssh. Вы также можете добавить -i к своим командам ssh и scp, чтобы они не существовали в домашнем каталоге apache.

2
ответ дан 3 December 2019 в 05:15

Функция shell_exec (), вероятно, дает вам некоторую информацию, которую вы игнорируете, не собирая ее. Попробуйте

$info=shell_exec("kindle.sh $outpath");
echo "<pre>$output</pre>";

это то, что я сделал бы, чтобы начать отладку этой проблемы.

Изменить:

Установка привилегий на .ssh и id_rsa на 777 вызовет у вас серьезные проблемы, поскольку ssh отказывается работать, если они слишком разрешительные . Установите их обратно на 700 и 600, соответственно.

Я не понимаю, почему вы не видите, что ничего возвращается, попробуйте

$info=shell_exec("kindle.sh 2>&1 $outpath");
echo "<pre>$output</pre>";

Что должно заставить stderr также выйти из стандартного.

2
ответ дан 3 December 2019 в 05:15

Когда у меня возникают проблемы с выполнением внешних сценариев из процессов httpd и php, я пытаюсь запустить вручную под тем же пользователем, от имени которого запускается процесс httpd.

su никто

Это очень высока вероятность того, что у пользователя nobody не установлена ​​оболочка, вам нужно будет разрешить оболочке su для него.

1
ответ дан 3 December 2019 в 05:15

Теги

Похожие вопросы