温馨提示×

怎样设置linux ftpserver

小樊
59
2026-09-08 05:50:21
栏目: 智能运维

在 Linux 上搭建 FTPS(FTP over SSL/TLS)服务器,常用方案是使用 vsftpd(非常安全且易配置)。下面以 Ubuntu / CentOS 为例,一步一步说明。


一、安装 vsftpd

Ubuntu / Debian

sudo apt update
sudo apt install vsftpd

CentOS / RHEL

sudo yum install vsftpd
# 或
sudo dnf install vsftpd

二、生成 SSL 证书(FTPS 必需)

自签名证书(测试用)

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

生产环境建议使用 Let’s Encrypt 或机构签发证书


三、配置 vsftpd(FTPS)

编辑配置文件:

sudo vim /etc/vsftpd.conf

基础 FTPS 配置

# 启用 SSL
ssl_enable=YES

# 证书路径
rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key

# 强制使用 TLS(推荐)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

# 不允许匿名
anonymous_enable=NO

# 本地用户登录
local_enable=YES
write_enable=YES

# 被动模式(云服务器必须)
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

可选:限制用户主目录

chroot_local_user=YES
allow_writeable_chroot=YES

四、防火墙设置

开放端口

# 控制端口
sudo ufw allow 21/tcp
# 被动端口
sudo ufw allow 30000:31000/tcp

云服务器

安全组中也要放行 21 + 30000–31000


五、启动 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

六、创建 FTP 用户

sudo useradd -m ftpuser
sudo passwd ftpuser

七、客户端连接测试

使用:

  • FileZilla
  • FTP 命令行(不支持 TLS)
  • lftp

FileZilla 设置

  • 主机:服务器 IP
  • 协议:FTPS
  • 加密:显式 FTP over TLS
  • 用户名 / 密码:ftpuser

八、常见问题

1. 连接超时

  • 检查防火墙
  • 检查 passive port
  • 云服务器安全组

2. 530 Login incorrect

  • 用户被禁止登录(PAM)
  • 检查 /etc/passwd

3. 证书不受信任

  • 自签名证书需手动信任

九、可选增强

  • 使用 SFTP(SSH) 替代 FTPS(更安全)
  • 使用 Let’s Encrypt 证书
  • 限制用户访问目录(chroot)

如果你告诉我:

  • Linux 发行版
  • 是否是云服务器
  • 是否需要匿名 / 多用户

我可以给你 精准配置示例。

0 踩