温馨提示×

FTPServer在Ubuntu如何设置

小樊
38
2026-07-18 18:16:58
栏目: 智能运维

在 Ubuntu 上搭建 FTPServer(FTP 服务器) 常见有两种方式:

  • vsftpd(常用,稳定)
  • ProFTPD(功能更强)

下面先以 vsftpd 为例,这是最推荐、最常见的做法。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd -y

安装完成后:

systemctl status vsftpd

应看到 active (running)


二、基本配置(允许本地用户登录)

编辑配置文件:

sudo nano /etc/vsftpd.conf

常用必要配置

listen=YES
listen_ipv6=NO

anonymous_enable=NO
local_enable=YES
write_enable=YES

local_umask=022

dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

chroot_local_user=YES
allow_writeable_chroot=YES

pasv_min_port=30000
pasv_max_port=31000

保存后退出。


三、创建 FTP 用户(可选)

如果你不想用系统现有用户:

sudo useradd -m ftpuser
sudo passwd ftpuser

测试目录权限:

sudo chown ftpuser:ftpuser /home/ftpuser

四、放行防火墙端口

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

五、重启 vsftpd

sudo systemctl restart vsftpd

六、测试 FTP 连接

本地测试

ftp localhost

远程测试(Windows / Linux)

ftp your_server_ip

或使用 FileZilla

  • 协议:FTP
  • 加密:只使用明文 FTP(或后面升级为 FTPS)

七、升级为 FTPS(FTP over SSL/TLS)

如果你说的 FTPServer = FTPS(加密),继续下面步骤。

1️⃣ 生成 SSL 证书

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

2️⃣ 修改 vsftpd 配置

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

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

rsa_cert_file=/etc/ssl/certs/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key

3️⃣ 重启

sudo systemctl restart vsftpd

✅ 客户端(如 FileZilla)选择 FTP over TLS 即可。


八、常见问题

❌ 530 Login incorrect

  • 用户名/密码错误
  • /etc/shells 中缺少用户 shell
echo /bin/bash | sudo tee -a /etc/shells

❌ 无法写入目录

sudo chown -R ftpuser:ftpuser /home/ftpuser

九、vsftpd vs ProFTPD 对比

项目 vsftpd ProFTPD
性能
配置 简单 灵活
虚拟用户
FTPS

如果你告诉我:

  • ✅ 是 内网 / 公网
  • ✅ 是否需要 虚拟用户
  • ✅ 是否必须 FTPS(加密)

我可以给你一份 完全定制化的配置方案

0