温馨提示×

ubuntu如何测试ftpserver

小樊
41
2026-07-07 08:55:09
栏目: 智能运维

在 Ubuntu 上测试 FTP 服务器(无论是 vsftpdproftpd 还是 pure-ftpd),可以从本机测试远程测试两个层面来做。下面给你一套完整、常用、实战型的测试方法。


一、确认 FTP 服务是否正常运行

1️⃣ 查看服务状态

systemctl status vsftpd

(如果是 proftpd)

systemctl status proftpd

✅ 正常状态应为 active (running)


2️⃣ 检查监听端口

ss -lntp | grep :21

netstat -lntp | grep :21

✅ 看到 0.0.0.0:21:::21 说明监听正常


二、本机测试 FTP(推荐)

方法 1:使用 ftp 命令(最基础)

sudo apt install ftp
ftp localhost

操作示例:

Name: 用户名
Password: 密码
ftp> ls
ftp> put test.txt
ftp> get test.txt
ftp> bye

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


方法 2:使用 lftp(强烈推荐)

sudo apt install lftp

匿名登录

lftp ftp://localhost

用户登录

lftp -u username localhost

常用命令:

ls
put file
get file
mirror dir

lftp 支持被动模式、断点续传,比 ftp 稳定


方法 3:使用 curl(快速测试)

curl -I ftp://localhost

上传测试:

curl -T test.txt ftp://user:password@localhost/

三、被动模式(PASV)测试(非常重要)

FTP 被动模式是最容易出问题的地方

1️⃣ 查看是否开启被动模式

以 vsftpd 为例:

grep pasv /etc/vsftpd.conf

常见配置:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

2️⃣ 防火墙放行端口

ufw allow 21/tcp
ufw allow 30000:31000/tcp

3️⃣ 测试被动模式

lftp -u user localhost
set ftp:passive-mode on
ls

四、远程客户端测试

Windows

  • FileZilla
  • WinSCP

Linux / macOS

lftp ftp://user@服务器IP

✅ 能连上但列不出目录 → 多半是 被动模式 / 防火墙问题


五、日志排查(出问题必看)

vsftpd

tail -f /var/log/vsftpd.log

proftpd

tail -f /var/log/proftpd/proftpd.log

常见问题:

  • 530 Login incorrect
  • 425 Unable to build data connection
  • 500 OOPS

六、快速自检清单 ✅

检查项 命令
服务是否运行 systemctl status vsftpd
端口是否监听 ss -lntp
防火墙 ufw status
被动端口 pasv_min_port
登录测试 lftp
日志 /var/log/

七、如果你愿意,我可以进一步帮你

你可以直接告诉我:

  1. 用的是 vsftpd / proftpd / pure-ftpd
  2. 本地测试还是远程连不上
  3. 报错信息(贴出来)

我可以一步一步帮你定位 ✅

0