温馨提示×

怎么连接Linux FTPServer

小樊
37
2026-08-16 22:33:00
栏目: 智能运维

连接 Linux FTP 服务器(通常指 vsftpdProFTPDPure-FTPd)一般分 服务器端配置客户端连接 两部分。下面用最常见的 vsftpd + 本地用户 为例说明。


一、在 Linux 服务器上搭建 FTP(vsftpd)

1️⃣ 安装 vsftpd

# CentOS / Rocky / Alma
yum install -y vsftpd

# Ubuntu / Debian
apt update
apt install -y vsftpd

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

systemctl enable vsftpd
systemctl start vsftpd

3️⃣ 配置 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

4️⃣ 创建 FTP 用户

useradd ftpuser
passwd ftpuser

设置家目录(可选):

usermod -d /data/ftp ftpuser

5️⃣ 防火墙 & SELinux

防火墙

# FTP 控制端口
firewall-cmd --add-service=ftp --permanent

# 被动端口
firewall-cmd --add-port=30000-31000/tcp --permanent

firewall-cmd --reload

SELinux(如果是 CentOS/RHEL)

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

二、客户端连接 Linux FTP 服务器

✅ 方法 1:命令行连接(Linux / macOS)

ftp 服务器IP

示例:

ftp 192.168.1.100

输入用户名和密码即可。


✅ 方法 2:Windows 命令行

ftp 192.168.1.100

⚠️ Windows 自带 ftp 不支持被动模式,容易失败。


✅ 方法 3:图形化工具(推荐 ✅)

FileZilla

  1. 打开 FileZilla
  2. 填写:
    • 主机:服务器IP
    • 用户名:ftpuser
    • 密码:****
    • 端口:21
  3. 连接

✅ 支持被动模式,成功率最高。


三、测试是否连接成功

pwd
ls
put test.txt
get test.txt

四、常见问题排查

❌ 连接超时

  • 检查防火墙
  • 检查云服务器安全组(21、30000–31000)

❌ 530 Login incorrect

  • 用户名或密码错误
  • /etc/shells 中缺少用户 shell

❌ 无法上传

  • write_enable=YES
  • 目录权限:chmod 755 /home/ftpuser

五、安全建议(重要)

生产环境不建议使用 FTP(明文)
✅ 推荐使用:

  • SFTP(SSH)
  • FTPS(FTP over SSL)

如果你愿意,我可以:

  • ✅ 教你 SFTP 连接
  • ✅ 配置 FTPS(SSL)
  • ✅ 排查你当前的报错信息

你可以告诉我:

你的 Linux 版本 + 报错信息 + 使用场景(内网 / 公网)

0