温馨提示×

Linux下怎么启动FTPServer

小樊
38
2026-08-16 21:52:18
栏目: 智能运维

在 Linux 下启动 FTPS Server(FTP over SSL/TLS),常见做法是使用 vsftpdProFTPD。下面以 vsftpd(最常用) 为例,从安装到启动完整说明。


一、安装 vsftpd

Debian / Ubuntu

sudo apt update
sudo apt install vsftpd

CentOS / Rocky / Alma / 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

生产环境建议使用受信任 CA 签发的证书


三、配置 vsftpd 支持 FTPS

编辑配置文件:

sudo vim /etc/vsftpd.conf

基础 FTPS 配置示例

# 启用 SSL
ssl_enable=YES

# 禁止匿名
anonymous_enable=NO

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

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

# 强制使用 SSL(推荐)
force_local_data_ssl=YES
force_local_logins_ssl=YES

# 允许显式 FTPS(推荐)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

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

四、启动 / 重启 FTP 服务

启动

sudo systemctl start vsftpd

设置开机自启

sudo systemctl enable vsftpd

查看状态

sudo systemctl status vsftpd

五、防火墙放行端口

FTP 控制端口

sudo ufw allow 21/tcp
sudo ufw allow 30000:31000/tcp

firewalld

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

六、使用 FTPS 连接测试

使用 FileZilla

  • 协议:FTP over TLS (Explicit)
  • 端口:21
  • 登录方式:用户名 + 密码

或者命令行:

lftp -u user,password ftps://服务器IP

七、常见问题

1️⃣ 连接失败 / 超时

  • 检查防火墙
  • 确认 被动端口 已放行
  • 云服务器需配置 安全组

2️⃣ 530 Login incorrect

sudo setsebool -P ftp_home_dir on

或关闭 SELinux 测试

3️⃣ 只允许 FTPS,不允许普通 FTP

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES

八、vsftpd vs ProFTPD 简单对比

项目 vsftpd ProFTPD
性能
配置复杂度 简单 灵活
SSL/TLS 支持 支持
推荐场景 简单 FTPS 复杂权限

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

  • ✅ 系统版本(Ubuntu / CentOS / Rocky)
  • ✅ 是 云服务器 还是 内网
  • ✅ 是否需要 虚拟用户

我可以给你 完全定制的一套配置

0