Я использую Windows 7 и имею несколько приложений клиента FTP, работающих без любой проблемы. Однако, когда я использую командную строку FTP, я могу подключиться, войти в систему (после ввода имени пользователя и пароля), но это всегда разъединяется, когда команда dir или ls используется. Ответ:
Соединение закрывается удаленным хостом.
Как я могу решить эту проблему?
Вы будете обычно видеть, что этот тип вещи происходит, когда сервер попытается соединиться назад с Вами, но не может. FTP первоначально использовал два канала TCP. Каждый был для команд и другого для передачи данных. При выполнении команды dir, она использует канал передачи данных. Канал передачи данных устанавливается по требованию и приводит к серверу, пытающемуся соединяться назад с Вами.
Это, скорее всего, блокируется Вашим маршрутизатором или брандмауэром Windows. Вам нужен клиент, который поддерживает режим PASV.
Можно включить режим PASV в Internet Explorer. Или используйте другой клиент. Я не уверен, может ли версия командной строки использовать режим PASV. Это - очень простой клиент.
Я встретился с этой проблемой на сервере Windows 2008.
Эта статья предлагает включить Службу шлюза уровня приложения. Это не решило проблему для меня.
Что действительно решало проблему, добавляло исключение в Windows Firewall для C:\Windows\system32\ftp.exe