温馨提示×

如何在Ubuntu上使用vsftpd进行FTP over TLS

小樊
50
2025-07-03 10:22:52
栏目: 智能运维

在Ubuntu上使用vsftpd进行FTP over TLS的步骤如下:

1. 安装vsftpd

首先,确保你的系统是最新的,然后安装vsftpd:

sudo apt update
sudo apt install vsftpd

2. 配置vsftpd

编辑vsftpd的配置文件 /etc/vsftpd.conf

sudo nano /etc/vsftpd.conf

进行以下配置更改:

  • 启用TLS:

    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
    
  • 配置证书和密钥文件路径(如果你还没有生成证书和密钥,可以使用openssl生成):

    sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
    
  • 其他有用的配置选项:

    listen=YES
    listen_ipv6=NO
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    

3. 重启vsftpd服务

保存并关闭配置文件后,重启vsftpd服务以应用更改:

sudo systemctl restart vsftpd

4. 配置防火墙

确保防火墙允许FTP流量。如果你使用的是ufw,可以这样做:

sudo ufw allow 21/tcp
sudo ufw allow 990/tcp  # FTPS数据连接端口
sudo ufw reload

5. 测试FTP over TLS

你可以使用FTP客户端(如FileZilla)来测试连接。在FileZilla中,设置以下参数:

  • 主机:你的服务器IP地址
  • 协议:FTP - FTPS
  • 加密:要求显式FTP over TLS
  • 用户名:你的FTP用户名
  • 密码:你的FTP密码

连接到服务器后,你应该能够看到一个加密的连接。

6. 可选:配置被动模式

如果你需要通过防火墙进行FTP传输,可能需要配置被动模式:

pasv_enable=YES
pasv_min_port=50000
pasv_max_port=50010

然后更新防火墙规则以允许被动模式的端口范围:

sudo ufw allow 50000:50010/tcp

7. 可选:配置用户列表

如果你启用了用户列表,可以编辑 /etc/vsftpd.user_list 文件来添加或删除用户。

完成这些步骤后,你应该能够在Ubuntu上使用vsftpd进行FTP over TLS。

0