有问题的机器正在运行 CentOS 5.7 和 vsftpd-2.0.5-21.el5.x86_64。
我的客户端可以连接到服务器并通过标准 FTP 正常与其交互。它也可以通过 FTPS 连接并正确进行身份验证,但当我的客户端 (Filezilla) 尝试 LIST 命令时,它会收到以下错误;
GnuTLS 错误 -53:推送功能错误
GnuTLS 已从 repo 完全更新至 gnutls-1.4.1-3.el5_4.8.x86_64。
答案1
客户端和服务器之间有防火墙(可能是软件,在服务器或客户端上,也可能是硬件)。该LIST
命令导致客户端打开与服务器的第二个连接(称为“数据通道”),该连接被阻止。检查服务器配置中的pasv_min_port
和pasv_max_port
,并确保客户端和服务器之间的任何防火墙都允许这些和上的流量全部从客户端到服务器之间的端口。
普通 FTP 不受此影响的原因是,大多数防火墙实际上会检查客户端和服务器之间发送的命令和响应,并动态确定为数据通道打开哪些端口。由于使用 FTPS 时该通信是加密的,因此无法进行这种检查。