PuTTy 无法建立 SSH 隧道

PuTTy 无法建立 SSH 隧道

我正在尝试使用 Xdebug 和 PhpStorm 设置 PHP 的远程调试。我的本地开发机器装有 Windows 7,而远程机器装有 CentOS 6。

我按照这个指南操作却无济于事:

https://confluence.jetbrains.com/display/PhpStorm/Remote+debugging+in+PhpStorm+via+SSH+tunnel#RemotedebugginginPhpStormviaSSHtunnel-1.XdebugorZendDebuggerinstalledandconfigured

我可以正常连接到 SSH,并且我的隧道设置与指南中的完全相同:

在此处输入图片描述

当我尝试通过浏览器连接到服务器(设置了适当的 cookie)时,Xdebug 日志中出现以下错误:

# tail /tmp/xdebug.log
Log opened at 2016-05-25 09:53:36
I: Connecting to configured address/port: 127.0.0.1:9000.
E: Could not connect to client. :-(
Log closed at 2016-05-25 09:53:36

Log opened at 2016-05-25 09:55:36
I: Connecting to configured address/port: 127.0.0.1:9000.
E: Could not connect to client. :-(
Log closed at 2016-05-25 09:55:36

这是我的/etc/php.d/xdebug.ini

; Enable xdebug extension module
zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart=1
xdebug.idekey=PHPSTORM
xdebug.remote_log="/tmp/xdebug.log"

Xdebug 列在phpinfo()输出中,并且它成功地将错误写入日志,因此我认为问题不在于 Xdebug 的配置。PhpStorm 正在监听连接,我可以在本地计算机上毫无问题地调试站点,但远程调试不起作用。

看来PuTTy无法建立SSH隧道。

以下是服务器上开放的端口列表:

# netstat --listening -n
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN
tcp        0      0 :::80                       :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0      0 ::1:25                      :::*                        LISTEN
udp        0      0 0.0.0.0:68                  0.0.0.0:*

据我所知,应该有一些东西在监听9000端口。否则 PuTTy 还能如何将数据从服务器转发到我的本地计算机?关于如何修复它并建立正确连接的任何想法?也许它与 selinux 或 SSH 配置有关?

相关内容