php ssh соединение phpseclib - PullRequest
       26

php ssh соединение phpseclib

0 голосов
/ 09 апреля 2019

Система: Linux
Сервер: XAMPP
Цель:
ssh-соединение с сервером (позже: делать что-то на этом сервере, не являясь частью этого вопроса)

Тест-код:

 <?php  
    set_include_path(get_include_path().PATH_SEPARATOR.'/home/myusername');
    include('Net/SSH2.php'); 
    $ssh = new Net_SSH2('123.45.6.78'); 
    if (!$ssh->login('user', 'password')) { 
    exit('Login Failed'); 
    }else{ 
    echo "connected".'<br>'; 
    echo $ssh->exec('whoami').'<br>';
    echo $ssh->exec('hostname')).'<br>';
    }   
    ?>

Выход:

подключен
(M4300-28G-PoE +)>
(M4300-28G-PoE +)>

Проблема:
Я не получаю никаких ошибок (ни в выходных данных сайта (см. Выше), ни в / opt / lampp / logs / error_logs), поэтому:
Вопрос (ы):
Почему я не получаю вывод (пользователь, имя хоста)? Есть ли другие / лучшие способы проверить, правильно ли я подключен?

1 Ответ

0 голосов
/ 10 апреля 2019

Похоже, что вы получаете вывод. (M4300-28G-PoE+) > - это вывод, который вы получаете, и вы получаете его для обеих команд, которые пытаетесь запустить.

M4300-28G-PoE + является коммутатором NetGear . Коммутаторы довольно печально известны тем, что не имеют полных реализаций SSH.

Мое предположение: если вы хотите запускать команды, вам придется использовать интерактивные команды phpseclib :

echo $ssh->read('username@username:~$');
$ssh->write("ls -la\n"); // note the "\n"
echo $ssh->read('username@username:~$');
...