Рассматриваемая машина работает под управлением CentOS 5.7 и vsftpd-2.0.5-21.el5.x86_64.
Мой клиент может подключаться к серверу и взаимодействовать с ним через стандартный FTP. Он также может подключаться через FTPS и правильно аутентифицироваться, но когда мой клиент (Filezilla) пытается выполнить команду LIST, он получает следующую ошибку:
Ошибка GnuTLS -53: Ошибка в функции push
GnuTLS полностью обновлен с репо до gnutls-1.4.1-3.el5_4.8.x86_64.
Где-то между вашим клиентом и сервером есть брандмауэр (может быть программным, на сервере или клиенте, или аппаратным). В LIST
Команда заставляет клиента открыть второе соединение с сервером (называемое «каналом данных»), которое блокируется. Проверьте конфигурацию вашего сервера на наличие pasv_min_port
и pasv_max_port
, и убедитесь, что любые межсетевые экраны между клиентом и сервером разрешают трафик на этих и все портов между клиентом и сервером.
Причина, по которой это не влияет на простой FTP, заключается в том, что большинство брандмауэров фактически проверяют команды и ответы, отправляемые между клиентом и сервером, и динамически определяют, какие порты открывать для канала данных. Поскольку эта связь зашифрована при использовании FTPS, эта проверка не может выполняться.