温馨提示×

怎样测试ubuntu ftpserver

小樊
36
2026-08-17 15:50:19
栏目: 智能运维

在 Ubuntu 上测试 FTP 服务器(通常是 vsftpdproftpd),可以从本机测试远程测试两个层面来做。下面以最常见的 vsftpd 为例,给你一套完整、实用的测试流程。


一、确认 FTP 服务是否运行

1️⃣ 查看服务状态

sudo systemctl status vsftpd

正常应看到:

Active: active (running)

如果未启动:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、本机测试(localhost)

2️⃣ 安装 FTP 客户端

sudo apt update
sudo apt install ftp

3️⃣ 本机连接测试

ftp localhost

示例:

Name: your_username
Password: ******

成功后会看到:

ftp>

常用命令:

ls
pwd
put test.txt
get test.txt
bye

✅ 能登录并列出目录,说明 FTP 服务基本正常。


三、测试被动模式(PASV)

很多客户端默认用被动模式,必须测试。

4️⃣ 使用 lftp(推荐)

sudo apt install lftp

测试:

lftp ftp://用户名@localhost

或者:

lftp
lftp :~> open localhost
lftp localhost:~> login 用户名 密码
lftp localhost:~> ls

如果 ls 卡住,通常是 被动模式端口未开放


四、检查防火墙(非常重要)

5️⃣ 查看防火墙状态

sudo ufw status

如果是 active,需要放行:

FTP 主动模式

sudo ufw allow 21/tcp

被动模式(假设端口 30000–31000)

sudo ufw allow 30000:31000/tcp

并在 /etc/vsftpd.conf 中配置:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

重启:

sudo systemctl restart vsftpd

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

6️⃣ 查看服务器 IP

ip a

假设是 192.168.1.100

7️⃣ 远程连接

ftp 192.168.1.100

lftp ftp://user@192.168.1.100

六、测试匿名访问(可选)

8️⃣ 配置匿名登录

编辑:

sudo nano /etc/vsftpd.conf

确认:

anonymous_enable=YES
anon_root=/srv/ftp

创建目录:

sudo mkdir -p /srv/ftp
sudo chown ftp:nogroup /srv/ftp

测试:

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

七、查看日志(排错神器)

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

如果没有该文件,可临时启用:

xferlog_enable=YES
log_ftp_protocol=YES

八、快速自检清单 ✅

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

九、常见错误速查

  • 530 Login incorrect → 用户名/密码错误,或 PAM 限制
  • 425 Unable to build data connection → 被动端口未放行
  • Connection refused → 服务未启动或防火墙拦截
  • 530 Permission denied → 目录权限问题

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

  • 你用的是 vsftpd / proftpd / pure-ftpd
  • 本地 / 局域网 / 公网
  • 是否要 匿名 / 虚拟用户 / SSL

我可以给你一份完全贴合你环境的测试方案

0