连接 Linux FTP 服务器(通常指 vsftpd、ProFTPD 或 Pure-FTPd)一般分 服务器端配置 和 客户端连接 两部分。下面用最常见的 vsftpd + 本地用户 为例说明。
# CentOS / Rocky / Alma
yum install -y vsftpd
# Ubuntu / Debian
apt update
apt install -y vsftpd
systemctl enable vsftpd
systemctl start vsftpd
编辑配置文件:
vim /etc/vsftpd/vsftpd.conf # CentOS
# 或
vim /etc/vsftpd.conf # Ubuntu
常用配置(推荐):
# 禁止匿名登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 限制用户只能访问自己的家目录
chroot_local_user=YES
# 允许 chroot 目录可写(新版 vsftpd 必须)
allow_writeable_chroot=YES
# 被动模式(客户端在 NAT 下必须)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
保存后重启:
systemctl restart vsftpd
useradd ftpuser
passwd ftpuser
设置家目录(可选):
usermod -d /data/ftp ftpuser
# FTP 控制端口
firewall-cmd --add-service=ftp --permanent
# 被动端口
firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
ftp 服务器IP
示例:
ftp 192.168.1.100
输入用户名和密码即可。
ftp 192.168.1.100
⚠️ Windows 自带 ftp 不支持被动模式,容易失败。
服务器IPftpuser****21✅ 支持被动模式,成功率最高。
pwd
ls
put test.txt
get test.txt
/etc/shells 中缺少用户 shellwrite_enable=YESchmod 755 /home/ftpuser✅ 生产环境不建议使用 FTP(明文)
✅ 推荐使用:
如果你愿意,我可以:
你可以告诉我:
你的 Linux 版本 + 报错信息 + 使用场景(内网 / 公网)