温馨提示×

ubuntu下ftpserver如何建

小樊
40
2026-09-26 17:34:37
栏目: 智能运维

在 Ubuntu 下搭建 FTP Server(支持 FTP / FTPS),最常用、稳定的方案是 vsftpd(Very Secure FTP Daemon)。下面我分 普通 FTP 和 FTPS(加密) 两种方式说明。


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

安装完成后:

sudo systemctl enable vsftpd
sudo systemctl start vsftpd

二、创建 FTP 用户(推荐使用系统用户)

1. 创建用户

sudo adduser ftpuser

设置密码并记住。

2. 设置 FTP 目录

sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp

三、配置 vsftpd(基础 FTP)

编辑配置文件:

sudo nano /etc/vsftpd.conf

推荐基础配置

listen=YES
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

保存后重启:

sudo systemctl restart vsftpd

此时可用:

ftp://服务器IP

使用 ftpuser 登录。


四、配置 FTPS(加密 FTP,推荐)

1. 生成 SSL 证书

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

2. 修改 vsftpd 配置

在 /etc/vsftpd.conf 中添加:

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/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem

重启服务:

sudo systemctl restart vsftpd

客户端使用 FTPS(显式) 连接。


五、防火墙设置(如有)

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp

并在配置中加入:

pasv_min_port=40000
pasv_max_port=50000

六、常见问题

1. 登录后无法写文件

确认:

write_enable=YES
allow_writeable_chroot=YES

2. 云服务器无法连接

  • 安全组开放 21 端口
  • 使用 被动模式(PASV)

3. 只想匿名下载

anonymous_enable=YES
anon_root=/srv/ftp

七、推荐客户端

  • FileZilla(支持 FTPS)
  • WinSCP
  • lftp(Linux 命令行)

如果你需要:

  • 仅内网 FTP
  • 虚拟用户(不用系统用户)
  • Docker 方式部署
  • 限制用户访问目录

可以告诉我你的使用场景,我可以给你更精确的配置。

0 踩