温馨提示×

ubuntu怎么开启ftpserver

小樊
45
2026-09-26 17:31:34
栏目: 智能运维

在 Ubuntu 上开启 FTP Server(通常是 vsftpd,支持 FTP / FTPS),可以按下面的步骤来。


一、安装 vsftpd(最常见的 FTP 服务器)

sudo apt update
sudo apt install vsftpd

安装完成后,服务会自动创建但可能未启动。


二、启动并设置开机自启

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

查看状态:

sudo systemctl status vsftpd

三、基础配置(重要)

配置文件位置:

sudo nano /etc/vsftpd.conf

1️⃣ 允许本地用户登录

local_enable=YES
write_enable=YES

2️⃣ 禁止匿名登录(推荐)

anonymous_enable=NO

3️⃣ 限制用户在家目录(更安全)

chroot_local_user=YES
allow_writeable_chroot=YES

修改后重启:

sudo systemctl restart vsftpd

四、开启 FTPS(加密 FTP,推荐)

如果你说的 FTPS = FTP over SSL/TLS,继续:

1️⃣ 生成证书

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

2️⃣ 修改 vsftpd 配置

ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

重启服务:

sudo systemctl restart vsftpd

五、防火墙设置

如果启用了 UFW:

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp   # 被动模式端口范围

并在 vsftpd.conf 中指定:

pasv_min_port=40000
pasv_max_port=50000

六、测试连接

FTP(不加密)

ftp localhost

FTPS(加密,用 FileZilla)

  • 协议:FTP
  • 加密:要求显式 FTP over TLS
  • 端口:21

七、常见问题

❌ 530 Login incorrect
→ 检查用户名密码、shell 是否为 /bin/bash

❌ 500 OOPS: vsftpd: refusing to run with writable root inside chroot
→ 加 allow_writeable_chroot=YES

❌ 云服务器连不上
→ 检查安全组是否放行 21 和被动端口


如果你是想:

  • 用 SFTP(SSH 文件传输)
  • 或用 Pure-FTPd / ProFTPD

可以告诉我,我可以给你对应方案。

0 踩