温馨提示×

怎么测试Debian FTP服务器

小樊
52
2026-07-11 04:39:25
栏目: 云计算

要测试 Debian 上的 FTP 服务器(如 vsftpdproftpd 等),可以从本地测试、远程测试、功能测试、安全测试几个方面来做。下面以最常见的 vsftpd 为例,给出完整测试流程。


一、确认 FTP 服务是否运行

1. 检查服务状态

sudo systemctl status vsftpd

正常应看到 active (running)

如未启动:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

2. 检查监听端口

ss -antp | grep ftp

netstat -antp | grep ftp

常见端口:

  • 21:FTP 控制端口
  • 20:主动模式数据端口
  • 30000-31000:被动模式端口(如已配置)

二、本地测试 FTP(服务器本机)

1. 使用 ftp 命令测试

ftp localhost

示例:

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

✅ 能登录并列出目录说明基本正常。

退出:

ftp> bye

2. 使用 lftp(推荐)

sudo apt install lftp
lftp localhost

测试:

ls
pwd

三、远程测试 FTP(从另一台电脑)

1. 测试端口是否可达

telnet 服务器IP 21

看到类似:

220 (vsFTPd 3.0.3)

说明端口通。


2. 使用 FTP 客户端

ftp 服务器IP

或使用图形工具:

  • FileZilla
  • WinSCP

四、功能测试(重点)

1. 匿名登录测试

编辑配置:

sudo vim /etc/vsftpd.conf

确认:

anonymous_enable=YES

重启:

sudo systemctl restart vsftpd

测试:

ftp localhost
Name: anonymous
Password: (直接回车)

2. 本地用户登录测试

local_enable=YES
write_enable=YES

测试上传:

put test.txt

3. 被动模式测试(非常重要)

配置示例:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙放行:

sudo ufw allow 30000:31000/tcp

用 FileZilla 测试被动模式是否成功。


五、日志与排错

查看日志

sudo tail -f /var/log/vsftpd.log

sudo journalctl -u vsftpd -f

六、安全与连通性测试

1. 防火墙检查

sudo ufw status

确保:

  • 21/tcp
  • 被动端口范围

2. SELinux(Debian 一般不用)

Debian 默认无 SELinux,可忽略。


七、常见问题速查

问题 原因
能连但不能列目录 被动模式端口未放行
530 Login incorrect 用户名/密码或 PAM 配置
425 Failed to establish connection 主动模式被防火墙拦截
200 PORT command successful 主动模式

八、测试清单(建议)

✅ 服务运行
✅ 端口监听
✅ 本地登录
✅ 远程登录
✅ 上传/下载
✅ 被动模式
✅ 匿名访问(如需要)


如果你愿意,可以告诉我:

  • 你用的是 vsftpd / proftpd / pure-ftpd
  • 是否 公网 / 内网
  • 是否 Docker / 云服务器

我可以给你一份完全针对性的测试方案

0