xubuntu 18.04 上 vsftpd 的 ssl 配置

这篇 vsftp 的 ssl 配置在vsftp 的基础配置之上修改而来。

主要参考了这两篇文章:
[Linux] vsftpd配置ssl | zeven's blog
13.10 - vsftpd will not start with SSL enabled - Ask Ubuntu

查询 vsftpd 是否支持 SSL

ldd /usr/sbin/vsftpd | grep ssl

生成 vsftpd.key 密钥文件及 vsftpd.pem 及证书文件

sudo openssl req -x509 -nodes -days 720 -newkey rsa:2048 -keyout /etc/vsftpd/vsftpd.key -out /etc/vsftpd/vsftpd.pem

请注意使用 sudo 命令,否则会提示无权限。如果提示 problems making Certificate Request,那么请将生成密钥及证书文件的路径换一个再试。

修改证书文件权限:

sudo chmod 400 /etc/vsftpd/vsftpd.{key,pem}

查看证书文件:

ls -lh /etc/vsftpd

修改主配置文件 vsftpd.conf

在 vsftpd.conf 增加以下内容:

allow_writeable_chroot=YES
allow_anon_ssl=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
force_local_logins_ssl=YES
force_local_data_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.key
require_ssl_reuse=no
pasv_enable=YES
pasv_min_port=80100
pasv_max_port=80101

请注意,vsftp 开启 ssl,主动模式是不能用的,必须使用被动模式,为考虑安全问题,可以指定被动端口的范围,如果是云服务器,可能要在管理后台的防火墙设置里开启相应的端口访问。

重启 vsftpd 服务

sudo service vsftpd restart

sudo systemctl restart vsftpd

测试 ftp ssl 连接

下载开源软件 filezilla,新建连接,配置如下:

加密栏选择:要求显示的 FTP over TLS。点击“连接”按钮。

弹出“未知证书”的提示框。点击“确定”按钮。

消息日志里提示连接成功:

远程目录树展示:

还可以使用 surgeftp 软件测试连接 FTP over TLS。

posted @ 2020-08-25 09:03  imzhi  阅读(341)  评论(0编辑  收藏  举报