2013-10-09 3 views
0

Я пытаюсь подключиться к удаленному SFTP-серверу с помощью PHP. Мой код отлично работает, когда я подключаюсь к локальной учетной записи SFTP, но это время для удаленного хоста. Я убедился в том, что через FTP-клиент информация о хосте верна и ее подключение прекрасное.SFTP не подключается к удаленному серверу

Я использую библиотеку phpseclib, а мой три строки ниже.

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

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

Он возвращает false (то есть не связан).

То, что я сделал

  • Я скрипт в белый список mod_security только в случае его блокирования этого.
  • Я пробовал один и тот же сценарий на своем локальном компьютере и успешно подключается к удаленному SFTP.

Полезная подсказка?

+0

Вы пытались передать файл вручную через sftp? – Tarik

+0

Да, я использовал winSCP на своем локальном компьютере (Windows 7), и он успешно соединяется и загружает/загружает файлы. Кроме того, тот же скрипт прекрасно соединяется при запуске на моем локальном компьютере. – Rahi

ответ

0

Это может помочь другим. Вы должны убедиться, что порт TCP_OUT открыт на вашем удаленном сервере, чтобы он работал.

Спасибо за помощь!

1

ли define('NET_SSH2_LOGGING', 2) перед инициализацией Net_SFTP, а затем сделать $sftp->getLog() после $sftp->login()

Это будет обеспечивать достаточную информацию, с которой диагностический может быть сделано.

Смежные вопросы