vsFTPd是Linux上的FTP服务器软件之一,它支持很多选项,其中有一条允许使用OpenSSL对数据进行加密,这样可以在一定程度上弥补FTP在传输帐号密码信息时铭文传送的缺陷,可以使FTP帐号更安全一些。
1.首先,安装vsftpd
# yum install vsftpd
2.建立CA
# cd /etc/pki/CA # mkdir certs newcerts crl # touch index.txt serial # echo 01 > serial # vim /etc/pki/tls/openssl.conf # 修改如下字段,这样在颁发证书的是否方便 [ CA_default ] dir = /etc/pki/CA # 指定CA的路径 [ req_distinguished_name ] countryName_default = CN # 默认国家名 stateOrProvinceName_default = HN # 省份 localityName_default = ZZ # 地区 0.organizationName_default = RHCE # 公司名称 # openssl genrsa 1024 > private/cakey.pem # openssl req -new x509 -key private/cakey.pem -out cacert.pem 一阵回车,注意要配置域名!CA证书建立好了 chmod 600 private/cakey.pem cacert.pem3.给vsftpd颁发证书
# cd /etc/vsftpd/ # mkdir ssl # openssl genrsa 1024 > ssl/ftp.key # openssl req -new -key ssl/ftp.key -out ssl/ftp.req 又是一阵回车,vsfptd的请求证书申请号了 # openssl ca -in ssl/ftp.req -out ssl/ftp.crt 确定签署 # rm ssl/ftp.req -f # chmod 600 ssl/ftp.*4.编辑配置文件,添加如下行
# vim /etc/vsftpd/vsftpd.conf 添加如下行 # SSL configure ssl_enable=YES ssl_tlsv1=YES //建议开启这个就行了 ssl_sslv2=NO ssl_sslv3=NO allow_anon_ssl=YES //匿名用户开启使用ssl force_local_data_ssl=YES //强制数据传输使用加密 force_local_logins_ssl=YES //强制登录时使用ssl rsa_cert_file=/etc/vsftpd/ssl/ftp.crt rsa_private_key_file=/etc/vsftpd/ssl/ftp.key5.开启vsftpd服务,在客户端就可以使用ssl加密方式访问ftp了