温馨提示×

ubuntu vsftp怎样加密

小樊
37
2026-09-13 04:48:14
栏目: 网络安全

在 Ubuntu 上,vsftpd(Very Secure FTP Daemon)本身不支持原生的 FTP over SSH,但可以通过 FTPS(FTP over SSL/TLS) 来实现加密传输。下面是常见且推荐的两种“加密”方式:


一、使用 FTPS(推荐,vsftpd 原生支持)

1. 安装 vsftpd

sudo apt update
sudo apt install vsftpd

2. 生成 SSL 证书

可以使用自签名证书(测试用):

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

3. 配置 vsftpd 支持 SSL

编辑配置文件:

sudo nano /etc/vsftpd.conf

添加或修改以下内容:

listen=YES
listen_ipv6=NO

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

require_ssl_reuse=NO

4. 重启 vsftpd

sudo systemctl restart vsftpd

5. 客户端连接

使用支持 FTPS 的客户端(如 FileZilla):

  • 协议:FTP
  • 加密方式:显式 FTPS(Explicit FTP over TLS)
  • 端口:21

二、使用 SFTP(更安全,但不是 vsftpd)

⚠️ SFTP ≠ FTPS
SFTP 是 SSH File Transfer Protocol,由 OpenSSH 提供

特点

  • 默认端口 22
  • 自动加密
  • 不需要 vsftpd

启用方式

Ubuntu 默认已安装:

sudo apt install openssh-server

直接用客户端连接:

  • 协议:SFTP
  • 端口:22
  • 用户:系统用户

三、对比建议

方式 加密 端口 推荐度
FTPS (vsftpd) 21 ⭐⭐⭐
SFTP (SSH) ✅✅ 22 ⭐⭐⭐⭐⭐
普通 FTP 21

四、常见坑

  • 防火墙需放行 21 和被动端口
  • 云服务器需配置被动模式(pasv)
  • 自签名证书客户端会报警,属正常

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

  • 服务器对外网还是内网
  • 命令行还是图形客户端
  • 是否需要 虚拟用户

我可以给你一份可直接用的完整配置。

0