Перезагрузить компьютер через Telnet соединение с помощью PHP? - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь реализовать один PHP GUI, который сначала устанавливает SSH-соединение с сервером, а затем открывает Telnet-соединение с одним компьютером, который хочет отправить команду на перезагрузку. Я уже попробовал команды на CLI (SSH-соединение, Telnet-соединение и команда перезагрузки через этот сеанс Telnet).

Но в моей реализации я думаю, что что-то не хватает при попытке отправить командусеанс Telnet. Кто-нибудь может дать мне подсказку?

<?php
function rebootMachine() {

    $original_Timeout=ini_get('default_socket_timeout');
    ini_set('default_socket_timeout',10);
    /IP addresses of the Server and the Machine
    $server_ip = 10.0.0.1 ;
    $machine_ip  = 10.10.0.1;
    //Telnet port to the Machine
    $port_telnet = 49150;

    $connection=@ssh2_connect($server_ip,22);
    if(false==$connection){
        echo "Server is unreacheable";
    }else{
    //conection the the Server
        $auth=@ssh2_auth_password($connection, 'username','password');

        if(false==$auth){
            echo 'Authentication failed';
        }else{
            //Conection to the machine by Telnet 
            $stream=@ssh2_exec($connection, 'telnet machine_ip port_tcp');

            if (false==$stream){
                echo 'error';
            }else{
                //command to reboot the Machine
                $stream_telnet=exec(":SYSTEM:REBOOT");
            }
            fclose($stream);
        }
    }         
}
...