filezilla 无法使用 TLS 连接到 vsftpd,但可以使用未加密的连接

filezilla can't connect to vsftpd with TLS, but does work with unencrypted connection

我在centos7上设置我的服务器

从客户端(不是本地主机),我可以使用未加密的连接连接并将文件传输到服务器,但无法使用 TLS 连接

这是我的 vsftpd.conf:

listen=YES
listen_ipv6=NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

rsa_cert_file=/home/user/server/sync.crt
rsa_private_key_file=/home/user/server/sync.key

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

require_ssl_reuse=NO
ssl_ciphers=HIGH

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=60000
pasv_address=1.1.1.1

和 filezilla 的错误代码:

Connection attempt failed with "ETIMEDOUT - Connection attempt timed out".
425 Failed to establish connection.

如何解决这个问题?

这种错误通常发生在无法创建数据连接以传输文件或目录列表时。此类数据连接是使用动态端口完成的,在 PASV 的情况下,要使用的端口由服务器在对 PASV 命令的响应中宣布。

防火墙通常会雇用助手来扫描流量并寻找此类响应,以宣布客户端应使用哪个端口 - 然后暂时允许此类访问。在没有加密的普通 FTP 的情况下,防火墙可以看到响应并确定要打开的端口 - 然后它就可以工作了。但是,在 FTPS 的情况下,控制连接是加密的,因此防火墙只能看到加密的通信,无法确定要打开的端口 - 然后它就会失败。