在 CentOS 上测试 FTP / FTPS 服务器连通性,可以从网络层、服务层、登录层逐步排查。下面按常见场景说明。
systemctl status vsftpd
如果没启动:
systemctl start vsftpd
systemctl enable vsftpd
telnet ftp_server_ip 21
或
nc -vz ftp_server_ip 21
✅ 看到 220 或 Connected 说明端口通
❌ 不通:检查防火墙 / 安全组
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
getsebool -a | grep ftp
确保:
setsebool -P ftpd_full_access on
ftp ftp_server_ip
输入用户名 / 密码
✅ 能 ls 说明正常
lftp
lftp :~> set ftp:ssl-force true
lftp :~> set ssl:verify-certificate no
lftp :~> connect ftps://ftp_server_ip
或一行:
lftp ftps://user:password@ftp_server_ip
curl -k ftps://ftp_server_ip/ --user user:password
FTP 被动模式需要额外端口(如 30000–31000)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙放行:
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
测试:
ftp ftp_server_ip
ftp> passive
ftp> ls
如果你能告诉我:
我可以直接帮你定位问题。