1

別のコンピューターまたは同じコンピューターから ssh を使用して、php から /root/scripts/ にある perl スクリプトを実行する必要があります。問題は、そのファイルのみを実行するためにphpをルートアカウントにログインさせる方法がわからないことです。

user$ として /root/scripts/ にアクセスできないため、execc や 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


?>

ここで私を助けてくれることを願っています。

4

2 に答える 2