温馨提示×

centos ftpserver为何登录失败

小樊
49
2026-09-06 04:32:35
栏目: 智能运维

CentOS 上 FTP / FTPS 服务器登录失败 的原因很多,下面按最常见原因逐条排查,你可以对照看是哪一种。


一、vsftpd 服务本身问题(最常见)

1. 服务没启动

systemctl status vsftpd

如果没运行:

systemctl start vsftpd
systemctl enable vsftpd

2. 防火墙没放行 FTP

firewall-cmd --list-all

如果没有 ftp:

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

如果是 FTPS(显式/隐式),还要放行:

  • 21(控制端口)
  • 被动端口范围(见下文)

3. SELinux 阻止(CentOS 特有高频问题)

查看:

getsebool -a | grep ftp

常见需要开启:

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

查看审计日志:

tail /var/log/audit/audit.log | grep ftp

二、用户 / 权限问题

4. 用户被禁止登录

vsftpd 默认禁止某些用户:

cat /etc/vsftpd/user_list
cat /etc/vsftpd/ftpusers

如果你的用户在里面 → 登录失败。


5. 家目录权限不对

ls -ld /home/username

建议:

chmod 755 /home/username
chown username:username /home/username

6. 用户没有合法 shell

grep username /etc/passwd

如果 shell 是 /sbin/nologin,部分配置下不能登录 FTP。


三、FTP 模式问题(FTPS 尤其常见)

7. 被动模式(PASV)未配置

/etc/vsftpd/vsftpd.conf 加:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

然后防火墙放行:

firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload

8. FTPS 证书问题

如果是 FTPS(SSL):

ssl_enable=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem

证书不存在或权限不对 → 登录直接失败。


四、客户端问题

9. 使用了错误协议

  • FTP → 21
  • FTPS(显式)→ 21 + TLS
  • SFTP → 22(不是 FTP!)

很多“登录失败”其实是 用 SFTP 客户端连 FTP 服务。


10. 日志是最快定位方式

服务器端看:

tail -f /var/log/secure
tail -f /var/log/messages

客户端看详细错误(FileZilla 最直观)。


五、快速自检清单 ✅

  • [ ] vsftpd 已启动
  • [ ] 防火墙放行 21 + 被动端口
  • [ ] SELinux 布尔值已开
  • [ ] 用户不在 ftpusers
  • [ ] 家目录权限正确
  • [ ] FTP / FTPS / SFTP 没混用

如果你愿意,可以把 具体报错信息 + vsftpd.conf + 客户端类型 发出来,我可以直接帮你定位是哪一条。

0 踩