You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu16.04服务器VSFTPD配置FTPS(TLS显式模式)失败求助

解决Ubuntu 16.04上VSFTPD启用FTPS后无法连接的问题

嘿,我在Ubuntu环境下折腾过好多次VSFTPD的FTPS配置,结合你遇到的问题——之前无TLS能正常连,开了TLS就不行,咱们一步步来排查解决:

第一步:先搞定证书(核心前提)

你提到证书配置内容缺失,那首先得确保有可用的SSL证书。如果还没生成,用自签名证书先测试(生产环境建议用CA签发的,但测试用自签名足够):

# 生成包含私钥和证书的合并PEM文件,有效期1年
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

# 设置正确的权限,vsftpd需要能读取但不能被其他用户修改
sudo chmod 600 /etc/ssl/private/vsftpd.pem

第二步:修正vsftpd.conf的TLS关键配置

打开/etc/vsftpd.conf,确保以下配置项正确设置(如果有冲突的旧配置,注释掉):

# 启用TLS支持
ssl_enable=YES

# 禁止匿名用户使用TLS(安全起见)
allow_anon_ssl=NO

# 强制本地用户登录和传输数据都用TLS
force_local_data_ssl=YES
force_local_logins_ssl=YES

# 指定证书和私钥路径(我们生成的是合并文件,所以路径一致)
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

# 禁用不安全的SSL版本,只启用TLSv1(Ubuntu16.04的vsftpd对TLSv1.2支持有限,先开TLSv1测试)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

# 被动模式配置(FileZilla默认用被动模式,必须开)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=41000

# 可选:如果要用隐式FTPS(端口990),添加以下两行,但默认用显式FTPS(端口21)更常见
# listen_port=990
# ssl_listen=YES

第三步:系统层面的排查

  1. 防火墙放行端口:确保FTPS需要的端口都开放了:
    sudo ufw allow 21/tcp
    sudo ufw allow 40000:41000/tcp
    sudo ufw reload
    
  2. 查看vsftpd日志定位错误:这是最有效的排查方式,打开终端实时监控日志:
    sudo tail -f /var/log/vsftpd.log
    
    然后尝试用FileZilla连接,日志里会明确显示错误原因——比如证书路径不对、权限不足、TLS版本不兼容等。

第四步:FileZilla客户端配置检查

  • 连接类型选FTP - File Transfer Protocol,加密方式选要求使用明确的FTP over TLS(不要选“仅普通FTP”或“隐式FTP over TLS”,除非你在vsftpd里配置了隐式)。
  • 第一次连接自签名证书时,会弹出警告,务必选择信任证书并保存,否则连接会被中断。

最后:重启服务生效

配置完所有项后,重启vsftpd服务:

sudo service vsftpd restart

内容的提问来源于stack exchange,提问作者TommyBs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:33:22