温馨提示×

centos怎么测试ftpserver

小樊
35
2026-07-08 20:51:25
栏目: 智能运维

在 CentOS 上测试 FTP 服务器,常见做法有 命令行测试浏览器测试专用工具测试。下面按场景给你一套完整、实用的测试方法。


一、确认 FTP 服务是否运行

先确认 FTP 服务(vsftpd / proftpd 等)是否启动。

systemctl status vsftpd

如果没启动:

systemctl start vsftpd
systemctl enable vsftpd

二、本地测试(最常用)

1️⃣ 使用 ftp 命令(基础测试)

安装客户端(如果没装):

yum install -y ftp

测试连接:

ftp localhost

示例:

Name: ftpuser
Password: ******
ftp> ls
ftp> bye

✅ 能登录并看到目录,说明 FTP 服务正常。


2️⃣ 使用 lftp(推荐,功能更强)

yum install -y lftp

测试:

lftp ftp://用户名:密码@localhost

或交互模式:

lftp localhost

常用命令:

ls
put test.txt
get test.txt
bye

lftp 支持被动模式、SSL,更适合测试。


三、测试被动模式(PASV)

很多客户端问题都出在被动模式。

lftp localhost
set ftp:passive-mode on
ls

如果失败,检查:

  • 防火墙
  • vsftpd 的 pasv_* 配置

四、测试端口是否通(网络层)

1️⃣ 查看监听端口

ss -lntp | grep :21

2️⃣ 从另一台机器测试

telnet FTP服务器IP 21

看到类似:

220 (vsFTPd 3.0.2)

✅ 端口通


五、测试防火墙 & SELinux(常见问题)

1️⃣ 防火墙

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

如果是被动模式,还需要开放被动端口(如 30000-31000)。


2️⃣ SELinux(非常常见)

查看状态:

getenforce

临时关闭测试:

setenforce 0

如果关闭后正常,说明是 SELinux 问题,建议用:

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

六、测试匿名访问(如是匿名 FTP)

ftp localhost

用户名:

anonymous

密码:任意邮箱


七、从 Windows / 其他机器测试

  • FileZilla(图形化,推荐)
  • Windows 资源管理器:
ftp://IP

八、常见问题速查

问题 原因
能连但不能列目录 被动模式 / 防火墙
530 Login incorrect 用户 / 密码 / PAM
550 Permission denied 权限 / SELinux
连接超时 防火墙 / 端口未开

九、如果你愿意,我可以帮你

你可以直接贴出:

  • ✅ vsftpd.conf
  • ✅ 报错信息
  • ✅ 是本地还是远程访问

我可以 直接帮你定位问题并给出最小修改方案

0