SSH-соединение, хотя ssh2_connect не удалось

1

Я хочу подключиться к удаленному серверу для выполнения commmand.

Здесь мой php:

<?php

$dir='ChemAliveMolOpt/TEST';
$remote_file = $dir.'/inputfile';

$command="/home/bomble/ChemAliveMolOpt/ChemAliveExec/ChemAliveMolOpt ".$remote_file;

$connection = ssh2_connect('[email protected]', 21);
ssh2_exec($connection,  $command);

?>

Здесь мои ошибки:

PHP Предупреждение: ssh2_connect(): php_network_getaddresses: getaddrinfo не удалось: имя или служба не известны в коде оболочки php в строке 1 PHP Предупреждение: ssh2_connect(): невозможно подключиться к [email protected] на порту 21 в коде оболочки php в строке 1 Предупреждение PHP: ssh2_connect(): Не удается подключиться к [email protected] в коде оболочки php в строке 1

Если я подключаюсь к разъему, используя ssh [email protected], он правильно подключается.

Какие-нибудь советы?

  • 0
    Вы можете подключиться (с какими учетными данными) к серверу SSH?
  • 0
    Почему вы пытаетесь подключиться к порту 21 (ftp), не следует ли подключаться к порту 22 (ssh)?
Показать ещё 1 комментарий
Теги:

1 ответ

2

Вы получаете ошибку, потому что пытаетесь подключиться к имени узла, которое невозможно устранить. Это потому, что "[email protected]" не является допустимым именем хоста. Очевидно, что эта строка не может быть разрешена для ip-адреса.

В документации достаточно ясно, как использовать команду ssh2_connect(): http://php.net/manual/en/function.ssh2-connect.php

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


BTW: также номер порта, который вы указываете (порт 21), является неожиданным. Вы действительно уверены, что на этом порту слушаете ssh-сервер? Хотя технически это возможно, было бы очень неожиданно...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню