Всем привет!
Мне нужна помощь php-программистов. Сам я специализируюсь на другом, и с web-программингом дел не имел, но вот появилась задача, которую надо решить именно на php, и я... взываю к помощи wink
Описание задачи:
Запрос на произвольный компьютер (указывается IP). Этот запрос должен создать соединение (через ssh) с процессом (например ls -la), прочитать вывод этого процесса и передать обратно серверу.
you --> web_server --> any_PC (запускается "ls -la", считывается вывод, передается web_серверу).
В качестве параметра, который я передаю серверу, должен быть только IP удаленной машины. Подразумевается, что процесс, который я запускаю на машине всегда один и тот же (может быть зашит в код).
Оганичений на вывод не должно быть, т.е. считывать столько, сколько запущенный процесс передаст.
Можно обсуждать прям тут или пишите в личку.
С уважением,
Alex
Написать небольшой проект на PHP
а можно мне предложить вам реализовать это на SSI?
плюсы - не нужно вызывать сторонний интерпретатор, для апача это кажется просто расширение.
Да, в этом-то и проблема, что надо реализовать все это на php :(
"Обходными способами" у меня тоже есть мысли как сделать можно, но тут нужно решение именно на php.
надо чтоб был установлен модуль ssh2, код взят с другого ресурса, кое что подправил, по идее должен работать, но проверить мне негде )
<?php
$host = "site.ru";
$user = "user";
$pass = "password";
$command="ls";
if (!function_exists("ssh2_connect")) die("function ssh2_connect doesn't exist");
if(!($con = ssh2_connect($host, 22))){
echo "unable to connect\n";
} else {
if(!ssh2_auth_password($con, $user, $pass)) {
echo "unable to auth\n";
} else {
echo "logged in!\n";
if (!$stream = ssh2_exec($con, $command)){
die ("ne pashet");
}else{
stream_set_blocking($stream, true);
$data = "";
while($o = fgets($stream)){
$data .= $o;
}
fclose($stream);
}
}
}
echo $data;
?>
возможно еще понадобиться и модуль OpenSSL )
Спасибо, я сегодня же протестирую
----------
Не, не пашет :( Ищу ошибку.
Кстати, а откуда код?
А что именно
не пашет
?
Включите показ ошибок в браузере и расскажите. Попробуем помочь.