为了解决暴露在公网的 FTP 传输的安全,我们必须对 vsftpd 进行配置 ssl
一、建立证书
1.检查 vsftpd 是否支持 ssl 模块
# ldd $(which vsftpd) | grep ssl
2.建立专门给vsftpd使用的凭证数据。CentOS有一个建立凭证的地方/etc/pki/tls/certs/
# cd /etc/pki/tls/certs
生成密钥文件
# make vsftpd.pem
# 复制证书到vsftpd目录
# cp -a vsftpd.pem /etc/vsftpd/
# ll /etc/vsftpd/vsftpd.pem
证书配置解析:
Country Name (2 letter code) [XX]:CN 国家名称(2个字母代码)[XX]:CN
State or Province Name (full name) []:CHINA 国家或省名(全称)[]:中国
Locality Name (eg, city) [Default City]:CHINA 地名(如城市)[默认城市]:中国
Organization Name (eg, company) [Default Company Ltd]:ORG 组织名称(如公司)[默认公司有限公司]:ORG
Organizational Unit Name (eg, section) []:ORG 组织单元名称(例如,节)[]:ORG
Common Name (eg, your name or your server's hostname) []:NAME 常用名称(例如,您的名称或服务器的主机名)[]:Name
Email Address []:EMAIL@163.com 电子邮件地址[]:EMAIL@163.com
二、修改 vsftpd.conf 配置文件
1.修改 vsftpd.conf 配置文件
停止服务
# service vsftpd stop
在最后加上以下配置
ssl_enable=YES
allow_anon_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
listen_port=7758
配置解析:
###SSL#####
# 是否启用SSL,默认值:NO
ssl_enable=YES
#
# 仅适用于 ssl_enable 活动。如果设置为YES,匿名用户将被允许使用安全的SSL连接
默认值:NO
allow_anon_ssl=YES
#
# 仅适用于 ssl_enable 激活。如果激活,所有匿名登录将被强制使用安全的SSL连接,以便在数据连接上发送和接收数据。默认值:NO
force_anon_data_ssl=YES
#
# 仅适用于 ssl_enable 激活。如果激活,所有匿名登录将被强制使用安全的SSL连接以发送密码。默认值:NO
force_anon_logins_ssl=YES
#
# 仅适用于 ssl_enable 激活。如果激活,所有非匿名登录将被强制使用安全的SSL连接,以便在数据连接上发送和接收数据。默认值:YES
force_local_data_ssl=YES
#
# 仅适用于 ssl_enable 激活。如果激活,所有非匿名登录将被强制使用安全的SSL连接以发送密码。默认值:YES
force_local_logins_ssl=YES
#
# 仅适用于 ssl_enable 激活。如果启用,此选项将允许TLS v1协议连接。TLS v1连接是首选。默认值:YES
ssl_tlsv1=YES
#
# 仅适用于 ssl_enable 激活。如果启用,此选项将允许SSL v2协议连接。TLS v1连接是首选。默认值:NO
#ssl_sslv2=NO
#
# 仅适用于 ssl_enable 激活。如果启用,此选项将允许SSL v3协议连接。TLS v1连接是首选。默认值:NO
#ssl_sslv3=NO
#
# 选项指定用于SSL加密连接的RSA证书的位置。默认值:/usr/share/ssl/certs/vsftpd.pem
rsa_cert_file=/etc/vsftpd/vsftpd.pem
2.最后保存,重启服务就OK了
#启动服务
service vsftpd start
#重启服务
service vsftpd restart
三、连接 Vsftpd
在连接的时候勾选信任证书就行
重新连接发现问题已经解决了:注意端口号(我的是7758)
转载于:https://blog.51cto.com/13481789/2366720