温馨提示×

如何测试CentOS的FTPServer

小樊
38
2026-07-20 13:50:15
栏目: 智能运维

测试 CentOS 上的 FTPS(FTP over SSL/TLS)服务器,可以按下面步骤来,从基本连通性到加密验证逐步进行。


一、确认 FTPS 服务已安装并运行

常见 FTPS 服务器有 vsftpdProFTPD,以 vsftpd 为例。

1. 检查服务状态

systemctl status vsftpd

如未启动:

systemctl start vsftpd
systemctl enable vsftpd

二、确认 FTPS 配置(vsftpd 示例)

1. 配置文件

vim /etc/vsftpd/vsftpd.conf

2. 关键 FTPS 配置项

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/pki/tls/certs/vsftpd.pem
rsa_private_key_file=/etc/pki/tls/private/vsftpd.key

修改后重启服务:

systemctl restart vsftpd

三、防火墙与端口检查

1. 开放 FTP 相关端口

firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload

2. 被动模式(推荐)

firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload

并在 vsftpd.conf 中:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

四、在 CentOS 本机测试 FTPS

方式一:使用 lftp(推荐)

1. 安装

yum install -y lftp

2. 测试 FTPS

lftp -u ftpuser,password ftps://服务器IP

或显式使用 TLS:

lftp
> set ftp:ssl-force true
> set ssl:verify-certificate false
> open ftp://服务器IP
> login ftpuser password

✅ 成功后可执行:

ls
put test.txt

方式二:使用 curl

curl -k --ftp-ssl -u ftpuser:password ftp://服务器IP/
  • -k:忽略证书验证
  • --ftp-ssl:启用 SSL

五、从 Windows / Linux 客户端测试

1. FileZilla(图形化,推荐)

  • 协议:FTP over TLS (Explicit)
  • 主机:服务器 IP
  • 用户名 / 密码
  • 端口:21

✅ 成功后应看到“TLS connection established”


六、抓包验证是否走 TLS(高级)

tcpdump -i eth0 port 21 -X

或在客户端连接时确认是否出现 TLS 握手(Client Hello)。


七、常见问题排查

1. 无法连接

ss -lntp | grep 21

2. 登录失败

  • 检查 /var/log/secure
  • 检查 /var/log/messages
  • 确认用户是否为本地用户

3. SSL 错误

openssl s_client -connect 服务器IP:21 -starttls ftp

八、快速测试清单 ✅

项目 命令
服务状态 systemctl status vsftpd
端口监听 ss -lntp
本机测试 lftp ftps://IP
证书验证 openssl s_client
日志 /var/log/secure

如果你愿意,可以把 vsftpd.conf报错日志 发出来,我可以帮你精确排查。

0