1

Shell_exec は PHP では正しく動作しますが、ssh を使用すると出力が返されません。

<?php
    echo shell_exec("/usr/bin/ssh -i /tmp/key server 'ls'");
?>

上記のコマンドは bash シェルで正常に動作し、以下は PHP で適切な出力を表示します。

<?php
    echo shell_exec("ls");
?>

サードパーティのphpライブラリを使用せずにこれができることを望んでいました...

4

1 に答える 1

1

純粋な PHP SSH2 実装である phpseclibを使用します。

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

$ssh = new Net_SSH2('www.domain.tld');
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('/tmp/key'));
if (!$ssh->login('username', $key)) {
    exit('Login Failed');
}


echo $ssh->exec('ls');
?>
于 2013-04-18T19:30:43.620 に答える