2013-04-18 4 views
1

shell_exec корректно работает в PHP, но при использовании SSH не возвращает никаких выходных данных ..PHP shell_exec не работает с SSH

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

Эта команда отлично работает в Баш оболочки и следующие проявления надлежащей выход в PHP

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

Я надеялся, что это может быть сделано без использования сторонней библиотеки PHP ...

ответ

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'); 
?> 
Смежные вопросы