测试 Ubuntu 上的 FTPServer(FTP 服务器) 一般分几个层面来做:服务状态 → 本地连接 → 远程连接 → 加密 FTPS(FTP over TLS)→ 权限与防火墙。下面按最常见场景一步步说明。
Ubuntu 常用 FTP 服务器有:
dpkg -l | grep vsftpd
如未安装:
sudo apt update
sudo apt install vsftpd
sudo systemctl status vsftpd
正常应看到:
Active: active (running)
启动 / 重启:
sudo systemctl start vsftpd
sudo systemctl restart vsftpd
sudo apt install ftp
ftp localhost
登录:
✅ 成功示例:
230 Login successful.
ftp>
如果配置的是 FTPS(FTP over TLS),不能用普通 ftp 命令测试。
lftp(强烈推荐)sudo apt install lftp
lftp -u 用户名,密码 ftps://服务器IP
或指定端口:
lftp -u 用户名,密码 ftps://服务器IP:21
✅ 成功特征:
curlcurl -k --ftp-ssl ftp://服务器IP/ -u 用户名:密码
-k 用于忽略证书校验(测试用)
sudo ufw status
若防火墙开启,放行 FTP:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw reload
如果是 被动模式 FTPS,还需要放行被动端口范围(如 30000–31000)。
ftp 服务器IP
或使用:
lftp -u 用户名,密码 ftps://服务器IP
cat /etc/vsftpd.conf
常见关键项:
listen=YES
local_enable=YES
write_enable=YES
chroot_local_user=YES
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
测试配置是否生效:
sudo systemctl restart vsftpd
local_enable=NO✅ 本地 → 远程 → FTPS → 权限 → 防火墙
如果你愿意,可以告诉我:
我可以给你针对性的测试命令和配置示例。