在 Ubuntu 上搭建或使用 FTP over SSL/TLS(FTPS)服务器 时,常见报错原因和对应解决办法如下。你可以先根据具体报错信息定位,我再给你更精准的方案。
Ubuntu 常用:
vsftpd(最常用)proftpd以下以 vsftpd + FTPS 为主说明。
原因
解决
sudo usermod -s /bin/bash ftpuser
sudo passwd ftpuser
vsftpd 配置:
local_enable=YES
write_enable=YES
原因
解决
sudo chmod 755 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser
报错示例
SSL handshake failedGnuTLS error解决:正确配置证书
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/vsftpd.pem \
-out /etc/ssl/private/vsftpd.pem
vsftpd.conf:
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
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
报错
LIST解决
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=你的公网IP
防火墙:
sudo ufw allow 20:21/tcp
sudo ufw allow 40000:50000/tcp
systemctl status vsftpd
journalctl -xe
常见问题:
sudo systemctl restart vsftpd
sudo tail -n 50 /var/log/vsftpd.log
如果是 FileZilla:
请把 完整报错信息 发给我,例如:
/var/log/vsftpd.logsystemctl status vsftpd我可以一步一步帮你修好 ✅