配置ftps服务
部署前准备
vsftpd文件服务可以正常使用(配置教程参考 vsftp虚拟用户配置 )
1.编辑openssl配置文件:
【进入CA目录】
cd /etc/pki/CA/
cd ..
vim tls/openssl.cnf
#先编辑一下openssl.cnf配置文件,修改[ policy_match ]模块下加粗内容
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
保存文件并退出。
2.开始生成相关ssl证书:
#进入到与CA服务器有关的目录
cd /etc/pki/CA/
ls
#生成index.txt和serial文件,并且给serial文件赋初始值为“01”
touch index.txt
touch serial
echo “01”> serial
#使用非对称加密算法rsa,采用1024为算法,得到一个密钥存放在private/cakey.pem中
openssl genrsa 1024 > private/cakey.pem
#私钥不允许别人查看,所以将cakey.pem文件的权限改为600,只有所属用户可以读写
chmod 600 private/cakey.pem
#使用CA服务器自己的私钥cakey.pem产生一个证书cacert.pem
openssl req -new -key private/cakey.pem -x509 -out cacert.pem -days 3650
#创建一个目录,存放于vsftp有关的证书,证书请求,密钥
mkdir -pv /etc/vsftpd/certs
cd /etc/vsftpd/certs/
#非对称加密算法rsa,使用1024位,算出一个密钥vsftp.key
openssl genrsa 1024 >vsftpd.key
#利用私钥vsftp.key产生一个证书请求文件vsftp.csr
openssl req -new -key vsftpd.key -out vsftpd.csr
#利用证书请求文件的到一个证书vsftp.cert
openssl ca -in vsftpd.csr -out vsftpd.cert
#将该目录下的文件权限全部改为600,即所属用户可读写
chmod 600 *
#修改vsftpd配置文件
vim /etc/vsftpd/vsftpd.conf
#add ssl
ssl_enable=YES
ssl_tlsv1_2=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
3.重启服务,进行测试
systemctl restart vsftpd
4.错误处理
错误处理1:
Using configuration from /etc/pki/tls/openssl.cnf
Error opening CA certificate /etc/pki/CA/cacert.pem
140003788384144:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/cacert.pem','r')
140003788384144:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:
unable to load certificate
CA证书/etc/pki/CA/cacert.pem 和配置文件/etc/pki/tls/openssl.cnf中certificate指定的位置不一样.
错误处理2:
Using configuration from /etc/pki/tls/openssl.cnf
unable to load number from /etc/pki/CA/serial
error while loading serial number
140422411036560:error:0D066096:asn1 encoding routines:a2i_ASN1_INTEGER:short line:f_int.c:210:
一般是因为serial文件中没有赋初值
echo 01 > /etc/pki/CA/serial
错误处理3:
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
The organizationName field needed to be the same in the
CA certificate (comm) and the request (lulu)
因为默认使用/etc/pki/tls/openssl.cnf,里面要求其一致,修改organizationName=supplied