温馨提示×

CentOS的FTPServer怎么连

小樊
42
2026-07-20 13:49:15
栏目: 智能运维

CentOS 上连接 FTP Server,一般分两种情况:
1️⃣ 你是客户端,要连别人的 FTP
2️⃣ 你自己在 CentOS 上搭了 FTP Server,现在要连

下面我按最常见场景给你一个完整说明(以 vsftpd 为例,这是 CentOS 默认最常用的 FTP 服务)。


一、确认 CentOS 上 FTP Server 是否已安装并运行

1️⃣ 检查是否安装 vsftpd

rpm -qa | grep vsftpd

yum list installed | grep vsftpd

如果没有:

yum install -y vsftpd

2️⃣ 启动并设置开机自启

systemctl start vsftpd
systemctl enable vsftpd

查看状态:

systemctl status vsftpd

二、防火墙 & SELinux(连不上 90% 是这里的问题

1️⃣ 防火墙放行 FTP(21 端口)

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

如果是测试环境,可临时关闭防火墙:

systemctl stop firewalld

2️⃣ SELinux(非常关键)

查看状态:

getenforce

如果是 Enforcing,建议先临时关闭测试:

setenforce 0

永久关闭(不推荐生产):

vi /etc/selinux/config
SELINUX=disabled

三、从 CentOS 本机连接 FTP Server(测试用)

1️⃣ 安装 FTP 客户端

yum install -y ftp

2️⃣ 连接本地 FTP

ftp localhost

ftp 127.0.0.1

输入用户名和密码:

  • 匿名:ftp / anonymous
  • 本地用户:系统用户名

四、从 Windows / Linux 客户端连接 CentOS FTP

常见方式

✅ 方式 1:命令行

ftp CentOS_IP

✅ 方式 2:FileZilla(推荐)

  • 主机:CentOS IP
  • 用户名:系统用户
  • 密码:对应用户密码
  • 端口:21

⚠️ 注意模式

  • 主动模式(PORT)容易失败
  • 建议用 被动模式(PASV)

五、vsftpd 常见配置(/etc/vsftpd/vsftpd.conf)

vi /etc/vsftpd/vsftpd.conf

常用配置:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

修改后重启:

systemctl restart vsftpd

并在防火墙放行被动端口:

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

六、常见连接失败原因速查

现象 可能原因
连接超时 防火墙 / IP 不通
530 Login incorrect 用户名密码错误
500 OOPS SELinux / 权限
卡在 Entering Passive Mode 被动端口未放行

七、快速自检清单 ✅

systemctl status vsftpd
firewall-cmd --list-all
getenforce
netstat -tunlp | grep 21

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

  • CentOS 版本(7/8/Stream)
  • 你是本机连还是远程连
  • 报什么错(贴日志)

我可以直接帮你 精准定位问题

0