Возникли проблемы с подключением PHP-SSH2 к удаленному серверу. - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь написать свой первый в истории PHP-скрипт, и я изо всех сил стараюсь, основная проблема в том, что часть соединения / exec не работает, а вместо этого выдает сообщение «Не удалось подключиться к серверу» ...

попытался изменить код оператора if.

<?php
  include('Net/SSH2.php');
  //Coded by Aaron Akhtar
  //May not be the best code, this is my first ever php script ;P

  //edit the information below to match your ssh details or this will not work!
  $address = "104.xxx.xx.xx";
  $user = "root"; //do not change unless you are using another user from root
  $password = "xxxxx";

  $command = $_GET["command"];

  if(empty($command)){
    echo "Please specify a command to send to the server...";
    die();
  }

    function execute(){
    $connection = ssh2_connect($address, 22);
    if(ssh2_auth_password($connection, $user, $password)){
      echo ssh2_exec($connection, $command);
    }else {
      die("Could not connect to server...");
    }

  }

  execute();

 ?>

Я пытаюсь заставить его отправить команду на мой удаленный сервер.

1 Ответ

0 голосов
/ 10 июля 2019

Попробуйте эти изменения:

function execute($address,$user, $password, $command){
    $connection = ssh2_connect($address, 22);
    if(ssh2_auth_password($connection, $user, $password)){
        echo ssh2_exec($connection, $command);
    }else {
        die("Could not connect to server...");
    }
}

execute($address,$user, $password, $command);

Переменные, на которые вы ссылались внутри функции, на самом деле не были доступны, их нужно либо передавать в качестве параметров при вызове функции, что я делал вфрагмент выше или объявив их глобально внутри функции.

...