1

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 库的情况下完成......

4

1 回答 1

1

使用phpseclib,一个纯 PHP SSH2 实现

<?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 回答