проверить соединение с функциями ssh2 в PHP

Мне нужно проверить соединение с помощью функции http://php.net/manual/en/function.ssh2-connect.php

Но если я сделал такой чек

$connection = ssh2_connect('myserver.com', 22); if (!$connection){ echo 'no connection'; }else{ echo 'connection ok'; } 

Я никогда не попадаю в строку «эхо» без связи »;

Можете ли вы объяснить мне, почему? И как это сделать?

Заранее спасибо!

Related of "проверить соединение с функциями ssh2 в PHP"

Это зависит от вашего сервера. Попробуйте подключиться к какой-то несуществующей и посмотреть, что произойдет.

Если вам нужно проверить только соединение, вы можете использовать что-то вроде http://php.net/manual/en/function.fsockopen.php также

В принципе, вы должны использовать такие функции, как ssh2_auth_password или ssh2_auth_public_key_file, и комбинировать с функцией ssh2_connect, чтобы проверить, проверено ли соединение или нет.

 $connection = ssh2_connect("myserver.com", 22); if(ssh2_auth_password($connection, "username", "password")){ echo "connection is authenticated"; } else{ echo "failed!" } 

Надеюсь это поможет!

Похоже, что 4-й параметр $callbacks может дать некоторую обратную связь по этой проблеме.

Вероятно, проблема связана с невозможностью подключения (Duh). Это может быть связано с тем, что брандмауэр, без Интернета, тяжелая защита SSH. Попробуйте вызвать # ssh -v <host> на поле PHP, чтобы узнать, в чем проблема.

Еще один пример того, почему phpseclib, чистая реализация PHP SSH , лучше, чем расширение ssh2 PECL.