温馨提示×

如何开启ubuntu ftpserver

小樊
46
2026-09-14 16:05:33
栏目: 智能运维

在 Ubuntu 上开启 FTPS(FTP over SSL/TLS)服务器,通常推荐使用 vsftpd(Very Secure FTP Daemon)。下面是从安装到启用 FTPS 的完整步骤:


一、安装 vsftpd

sudo apt update
sudo apt install vsftpd

二、配置防火墙(如有)

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

(端口范围用于被动模式)


三、生成 SSL 证书(用于 FTPS)

方式 1:使用自签名证书(测试用)

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

四、配置 vsftpd 支持 FTPS

编辑配置文件:

sudo nano /etc/vsftpd.conf

基础 FTPS 配置(追加或修改)

# 启用 SSL
ssl_enable=YES

# 强制使用 SSL(可选,建议)
force_local_logins_ssl=YES
force_local_data_ssl=YES

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

# 允许匿名(可选,关掉更安全)
anonymous_enable=NO

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

# 被动模式
pasv_min_port=40000
pasv_max_port=50000

保存后退出(Ctrl+O → Enter → Ctrl+X)


五、重启 vsftpd

sudo systemctl restart vsftpd
sudo systemctl enable vsftpd

六、测试 FTPS 连接

使用 lftp(推荐)

sudo apt install lftp
lftp -u username ftp://your_server_ip

使用 FileZilla

  • 协议:FTP over TLS (Explicit)
  • 端口:21
  • 用户名 / 密码:Ubuntu 用户

七、常见问题

1. 登录失败

  • 确认用户存在:sudo adduser testuser
  • 确认家目录权限正确

2. 被动模式连不上

  • 检查防火墙
  • 云服务器需放行被动端口

3. 只想用 SFTP(SSH)

FTPS ≠ SFTP
如果你只是想安全传文件,可以直接用:

sftp user@server_ip

无需额外配置。


如果你需要:

  • 只允许特定用户
  • 使用 Let’s Encrypt 证书
  • Docker 部署 FTPS

可以告诉我你的使用场景。

0 踩