【问题标题】:SFTP not connecting to remote serverSFTP未连接到远程服务器
【发布时间】:2013-10-17 00:46:29
【问题描述】:

我正在尝试使用 PHP 连接到远程 SFTP 服务器。当我连接到本地 SFTP 帐户时,我的代码工作正常,但远程主机超时。我已通过 FTP 客户端确保主机信息正确且连接正常。

我正在使用 phpseclib 库,我的三行代码如下。

require_once("phpseclib/Net/SFTP.php");

$sftp = new Net_SFTP('remote_host_IP');
var_dump($sftp->login('<username>', '<password>'));

返回false(表示未连接)。

我做了什么

  • 我已将 mod_security 中的脚本列入白名单,以防它阻止。
  • 我在本地计算机上尝试了相同的脚本,它成功连接到远程 SFTP。

请问有什么有价值的提示吗?

【问题讨论】:

  • 您是否尝试通过 sftp 手动传输文件?
  • 是的,我在本地计算机(Windows 7)上使用了 winSCP,它成功连接并上传/下载文件。此外,当我在本地计算机上运行时,相同的脚本连接良好。

标签: php sftp phpseclib


【解决方案1】:

在初始化Net_SFTP之前执行define('NET_SSH2_LOGGING', 2),然后在$sftp-&gt;login()之后执行$sftp-&gt;getLog()

这将提供足够的信息来进行诊断。

【讨论】:

    【解决方案2】:

    这可能对其他人有所帮助。您需要确保远程服务器上的 TCP_OUT 端口已打开才能使其正常工作。

    感谢您的帮助!

    【讨论】: