温馨提示×

怎样修复ubuntu ftpserver

小樊
51
2026-10-05 12:08:15
栏目: 智能运维

下面按“先排查 → 再修复”的思路,给你一套在 Ubuntu 上修复 FTP / FTPS Server 的通用方法。常见 FTP 服务有 vsftpd(最常用)、proftpd。下面以 vsftpd + FTPS 为主说明。


一、确认 FTP 服务是否安装并运行

1. 查看是否已安装

which vsftpd
# 或
dpkg -l | grep vsftpd

未安装则安装:

sudo apt update
sudo apt install vsftpd

2. 查看服务状态

systemctl status vsftpd

如果没运行:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

二、常见故障 & 修复方法

1️⃣ 无法连接(Connection refused)

原因:服务没启动或端口被防火墙挡

检查端口:

sudo netstat -tulnp | grep 21

防火墙放行(FTP 控制端口):

sudo ufw allow 21/tcp

如果是 FTPS(隐式):

sudo ufw allow 990/tcp

如果是 被动模式(PASV):

sudo ufw allow 30000:31000/tcp

2️⃣ 登录失败(530 Login incorrect)

检查:

  • 用户名密码是否正确
  • 用户是否被禁止登录

编辑配置:

sudo nano /etc/vsftpd.conf

确保:

local_enable=YES
write_enable=YES

然后重启:

sudo systemctl restart vsftpd

⚠️ 如果用 FTP 用户但禁止 shell 登录:

sudo usermod -s /usr/sbin/nologin ftpuser

同时确保:

check_shell=NO

3️⃣ FTPS 无法连接(SSL/TLS 错误)

检查是否启用 SSL:

sudo nano /etc/vsftpd.conf

示例 FTPS 配置:

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.key

生成证书(如果没有):

sudo openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout /etc/ssl/private/vsftpd.key \
  -out /etc/ssl/certs/vsftpd.pem

重启:

sudo systemctl restart vsftpd

4️⃣ 被动模式(PASV)失败

客户端能登录但列目录卡住,通常是 PASV 问题。

配置:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
pasv_address=你的公网IP

防火墙放行:

sudo ufw allow 30000:31000/tcp

5️⃣ 配置文件错误导致无法启动

查看错误:

sudo journalctl -xe | grep vsftpd

常见错误:

  • 重复参数
  • 证书路径错误
  • 拼写错误

三、快速修复清单(总结)

✅ 服务状态
✅ 防火墙
✅ 用户权限
✅ SSL 证书
✅ 被动端口
✅ 配置文件语法


四、如果你愿意,我可以更精准帮你

你可以补充:

  1. 用的是 vsftpd / proftpd / pure-ftpd?
  2. 是 FTP / FTPS / SFTP?
  3. 报错信息(客户端 + 服务端日志)
  4. Ubuntu 版本

我可以直接给你一份可复制的修复配置。

0 踩