Мне нужно выполнить perl-скрипт, расположенный в /root/scripts/ из php, используя ssh с другого компьютера или с того же компьютера. Дело в том, что я просто не знаю, как заставить php войти в учетную запись root, чтобы выполнить только этот файл.
Как user$ я не могу получить доступ к /root/scripts/, поэтому я не могу вызвать его с помощью excec или system. Я пытался использовать ssh для входа в sudo su, и когда я ввожу свой пароль, он зависает.
Я оставляю код здесь:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('IP');
if (!$ssh->login('user', 'password')) {
exit('Login Failed');
}else{
echo ("login suscess");
}
echo $ssh->read(']$');
echo $ssh->write("sudo su\n");
echo $ssh->read('user:');
//the code normally runs if I dont write the lines below
$ssh->write('password\n');//here I try to get ssh the root pass but php wont respond after this
echo $ssh->read('user]#');//normally this would work to show the root prompt but I don't know what happens
?>
Я надеюсь, что вы можете помочь мне здесь.