3

phpseclib を使用して、NET_SSH2 関数を介してリモート サーバーのパスワードを変更しようとしています。以下は私が使用しているものです。

    <?php
    require_once('Net/SSH2.php');

    $ssh = new Net_SSH2('server1.server.com');
    if (!$ssh->login('user', 'pass')) {
        exit('Login Failed');
    }

    $ssh->write("passwd\n");
    $ssh->read('(current) UNIX Password:');
    $ssh->write("oldpass\n");
    $ssh->read('New password:');
    $ssh->write("newpass\n");
    $ssh->read('Retype new password:');
    $ssh->write("newpass\n");
    echo $ssh->read('[prompt]');

    ?>

スクリプトがハングするたびに、ほとんど何もしていないように見えます。ここで何か間違っている可能性がありますか?

これに関するドキュメントは次のとおりです。 http://phpseclib.sourceforge.net/documentation/net.html

4

2 に答える 2

2

これはあなたを助けるかもしれません

<?php
$output = shell_exec('sudo passwd root');
echo "<pre>$output</pre>";
?>

shell_exec関数を介して任意のLinuxコマンドを実行できます

于 2012-04-26T10:52:40.300 に答える