PHP - Telnet-соединение / команда внутри SSH-соединения - PullRequest
0 голосов
/ 06 ноября 2019

У меня в топологии сети: machine_1, server_1 и machine_2.

Я занимаюсь разработкой приложения, которое будет размещено на machine_1. Одной из функций приложения является подключение к server_1 через соединение ssh (я использовал ssh2_exec), а затем server_1 может связаться с machine_2.

Что я хочу сделать, это отправить команду telnetвнутри этого сервера_1 к машине_2. Когда я установил соединение с server_1 с помощью команды ssh2_exec, есть ли способ установить это соединение telnet и затем отправить команду telnet на PHP?

* obs: я просто могу отправить командумашина_2 через установленное соединение telnet с сервером_1.

<?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_2= 10.10.0.1;
$command =“ system:REBOOT”;
    //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_2 by Telnet 
            $stream=@ssh2_exec($connection, 'telnet $machine_2 $port_telnet');

            if (false==$stream){
                echo 'error';
            }else{
                //command to reboot the Machine

            }
            fclose($stream);
        }
    }         
}
...