Назад | Перейти на главную страницу

Proftpd TLSRequired приводит к ошибке «550 SSL / TLS требуется на канале данных»

При установке TLSRequired к on вместо того off в моем профтп tls.conf, Я всегда получаю

550 SSL/TLS required on the data channel

ошибка при попытке подключения. Я пробовал это с версиями filezilla и winscp и proftpd. 1.3.3a и 1.3.4a

Это мой tls.conf:

<IfModule mod_tls.c>
TLSEngine                               on
TLSProtocol                             SSLv23 TLSv1
TLSRSACertificateFile                   /etc/ssl/private/cert.crt
TLSRSACertificateKeyFile                /etc/ssl/private/cert.key
TLSVerifyClient                         off
TLSRequired                             on
</IfModule>

Ошибка возникает после выполнения FTP-LISTкоманда. Это короткая выдержка из журнала отладки в filezilla:

Command:    PASV
Trace:  CFtpControlSocket::OnReceive()
Response:   227 Entering Passive Mode (78,46,187,75,208,71).
Trace:  CFtpControlSocket::TransferParseResponse()
Trace:  CFtpControlSocket::SendNextCommand()
Trace:  CFtpControlSocket::TransferSend()
Command:    LIST
Trace:  CFtpControlSocket::OnReceive()
Response:   550 SSL/TLS required on the data channel
Trace:  CFtpControlSocket::TransferParseResponse()
Trace:  CFtpControlSocket::ResetOperation(2)
Trace:  CControlSocket::ResetOperation(2)
Trace:  CFtpControlSocket::ParseSubcommandResult(2)
Trace:  CFtpControlSocket::ListSubcommandResult()
Trace:  CFtpControlSocket::ResetOperation(2)
Trace:  CControlSocket::ResetOperation(2)
Error:  Directory listing could not be retrieved

Для тех, кто обнаруживает эту проблему сейчас, с клиентами ProFTPD и FTPS, такими как FileZilla и WinSCP, такое же обсуждение было сообщено на форумах ProFTPD. Вот.

Основная причина заключалась в том, что в другом месте в @Zulakis ' proftpd.conf, был <Limit> раздел, посвященный FTP PROT команда. В PROT является частью FTPS и используется клиентами FTPS для информирования сервера защищать запрашиваемая передача данных. Если <Limit> раздел в proftpd.conf сказал ProFTPD отвергать который PROT команда но политика TLS, настроенная через TLSRequired сказал, что защита SSL / TLS была обязательный для передачи данных клиенту будет сообщена указанная выше ошибка.

Чтобы решить эту проблему, ProFTPD Ошибка # 3887 был зарегистрирован и исправлен, начиная с ProFTPD 1.3.4c (и ProFTPD 1.3.5).

Надеюсь это поможет!

У меня недавно была аналогичная проблема, но не с filezilla. Когда я использовал "Filezilla" в качестве ftp-клиента, все было хорошо. Но по какой-то причине внутренний ftp-клиент phpstorm имел указанную выше проблему: он мог подключиться, но не мог перечислить каталог.

В proftpd.conf я использовал следующую конфигурацию, и теперь ftp-клиент phpstorm может подключаться к ftp-серверу. Однако канал данных не требуется шифровать с помощью следующей опции:

TLSRequired                    ctrl

Другим возможным решением может быть переключение ftp-соединения на «пассивное», поскольку это проблема со списком каталогов.