Ради моего объяснения, имейте в виду следующее:
Machine 1 Internal = 127.0.0.1
Machine 1 External = 192.0.0.1
Machine 2 Internal = 127.0.0.2
Machime 2 External = 192.0.0.2
Client External = 10.0.0.1
Итак, я попытаюсь подключиться к внутреннему IP-адресу компьютера № 1, находясь на компьютере № 1:
$server = "127.0.0.1";
$conn = ssh2_connect($server, 22);
Результаты в [/ var / log / httpd / error_log]:
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 127.0.0.1 on port 22 in /var/www/html/file.php on line 8
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 127.0.0.1 in /var/www/html/file.php on line 8
Изменение IP с внутреннего на внешний привело к той же ошибке.
Теперь я попытаюсь подключиться к внешнему IP-адресу компьютера # 1, пока PHP-файл не запущен с веб-сервера Machine # 2:
$server = "192.0.0.1"
$conn = ssh2_connect($server);
Результат в [/ var/ log / httpd / error_log]:
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 192.0.0.1 on port 22 in /var/www/html/file.php on line 8
[:error] [client 10.0.0.1:0000] PHP Warning: ssh2_connect(): Unable to connect to 192.0.0.1 in /var/www/html/file.php on line 8
Все это имеет место, но, как ни странно, если я запускаю точный код через интерпретатор php -a
и продолжаю аутентифицировать и запускать команду,все работает без нареканий.
В чем проблема ??