PHP:ssh2_connect:无法远程连接到本地主机或计算机

时间:2018-09-19 04:49:15

标签: php apache ssh libssh2

为便于解释,请紧记以下提示。

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


因此,在机器#1上,我将尝试连接到机器#1的内部IP:

$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从内部更改为外部会产生相同的错误。

现在,当PHP文件从2号机的网络服务器上运行时,我将尝试连接至1号机的外部IP:

$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解释器运行确切的代码,并继续进行身份验证和运行命令,那么所有操作都将完美地完成。

出了什么问题?

1 个答案:

答案 0 :(得分:0)

我能够使用setenforce 0解决此问题。 老实说,我在编程时遇到的最令人困惑的问题。感谢您的帮助!