Мой сервер был правильно настроен и работал нормально. Совершенно не знаю, что было изменено, но теперь vsftpd (2.2.2) перестает работать в пассивном режиме.
Response: 230 Login successful.
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Command: PBSZ 0
Response: 200 PBSZ set to 0.
Command: PROT P
Response: 200 PROT now Private.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Error: GnuTLS error -15: An unexpected TLS packet was received.
Error: Disconnected from server: ECONNABORTED - Connection aborted
Error: Failed to retrieve directory listing
Это результат, который я получаю вместо
Command: PASV
227 Entering Passive Mode (86,150,105,147,215,59)
Итак, я вижу, что у сервера почему-то проблемы с пассивным режимом. Переключение в активный режим помогает, но я не ищу такого пути.
Если бы я отключил шифрование, я также не смог бы получить правильный ответ на команду PASV
Command: PASV
Response: 500 OOPS: vsf_sysutil_bind
Command: PORT 192,168,1,109,234,197
Response: 500 OOPS: priv_sock_get_int
Error: Failed to retrieve directory listing
Error: Connection closed by server
Кажется, все порты открыты, брандмауэр отключен и другие настройки в порядке. Неделю или две назад все работало безупречно, что случилось сейчас?
Я знаю, что этот вопрос давно не задавали. Но для всех, кто сталкивается с этой проблемой, кажется, что решение состоит в том, чтобы добавить
seccomp_sandbox=NO
на ваш vsftpd
файл конфигурации. Для получения кровавых подробностей о том, зачем нужна настройка конфигурации, вот это Отчет об ошибке RedHat. Похоже, это была ошибка в vsftpd
, благодаря использованию «песочницы безопасных вычислений» для Linux.
Надеюсь это поможет!