PHP shell_exec不适用于ssh

时间:2013-04-18 15:41:50

标签: php ssh shell-exec

Shell_exec在PHP中正常工作,但在使用ssh时它不会返回任何输出..

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

以上命令在bash shell中工作正常,以下显示PHP中的正确输出

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

我希望这可以在不使用第三方php库的情况下完成......

1 个答案:

答案 0 :(得分:1)

使用phpseclib, a pure PHP SSH2 implementation

<?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');
?>