您的位置:首页 > 运维架构 > Linux

linux ftps ftp-over-ssl 配置实验

2015-09-15 21:50 661 查看
本文为亲自实践 全文参考 http://www.linuxidc.com/Linux/2012-09/71129.htm
ftps是借助ssl协议加密的,ssl是为http/smtp 等加密设置的。sftp是借助ssh加密,ssh是为telnet/ftp等加密,建立传输通道而设计的
ssh建立通道就是为了加密和传输,ftps 从原理上将就是 ftp-over-ssl的意思即ftp借助ssl协议加密传输,不但要用ftp服务器还要用ssl协
议加密。sftp协议是ssh中的一条独立的协议,利用sftp服务器就可以传输数据。
下面为搭建&测试 此实验中ca 服务器与 ftp服务器处于同一台机器上
1.安装- 直接用 yum安装, 修改配置文件即可
2.修改配置文件。
1)直接cp 原来的配置文件(简单做个备份)
cp vsftpd.conf vsftpd.conf.bak
2)修改新的配置文件,配置文件内容如下:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ftpd_banner=Welcome zhongyan FTP Server ^_^ !
download_enable=NO #禁止下载
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #允许实体用户登录
idle_session_timeout=600
write_enable=YES
local_umask=022
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
chroot_list_enable=YES #是否启用chroot文件
chroot_list_file=/etc/vsftpd/chroot_list #指定chroot文件位置
listen=YES
listen_port=3232
listen_address=0.0.0.0
pasv_enable=YES #是否开启被动模式
pasv_min_port=22222
pasv_max_port=22228
pam_service_name=vsftpd #pam模块的名称
userlist_enable=YES #启用userlist_enable
userlist_deny=NO #如果值为NO 则只有在列表中的用户名才能使用ftp 如果值为YES时 则列表里的用户不能访问。
userlist_file=/etc/vsftpd/user_list #指定文件位置
#tcp_wrappers=YES

#如下配置文件内容设置ssl传输加密。 下一部分详解。
####ssl#####
ssl_enable=YES
ssl_sslv2=YES

ssl_tlsv1=YES
ssl_sslv3=YES

force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
无注释版本配置文件可以直接粘贴奥!!:
ftpd_banner=Welcome to zhongyan FTP Server ^_^ !
download_enable=NO
anonymous_enable=NO
local_enable=YES
idle_session_timeout=600
write_enable=YES
local_umask=022
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_port=21
listen_address=0.0.0.0
pasv_enable=YES
pasv_min_port=22222
pasv_max_port=22228
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#tcp_wrappers=YES

####ssl#####
ssl_enable=YES
ssl_sslv2=YES

ssl_tlsv1=YES
ssl_sslv3=YES

force_local_data_ssl=YES
force_local_logins_ssl=YES
rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
################################################################

3,设置传输方式为ssl加密传输(重点在此)搭建ca服务器。
首先检查下是否安装了 openssl
cd /etc/pki/tls/
vim openssl.cnf




cd /etc/pki/CA/ #切换到与CA服务器有关的目录
mkdir certs #建立与证书有关的目录
mkdir newcerts #与新证书有关的目录
mkdir crl #证书吊销列表
touch index.txt
touch serial
echo "01" > serial #给serial一个初始值
openssl genrsa 1024 > private/cakey.pem #使用非对称加密算法rsa,采用1024为算法,得到一个密钥存放在private/cakey.pem中
chmod 600 private/cakey.pem #私钥不允许别人查看,所以将cakey.pem文件的权限改为600,只有所属用户可以读写
openssl req -new -key private/cakey.pem -x509 -out cacert.pem -days 3650 #使用CA服务器自己的私钥cakey.pem产生一个证书cacert.pem



此处填写 本ca服务器的站点,其他的使用默认即可

mkdir -pv /etc/vsftpd/certs #创建一个目录,存放于vsftp有关的证书,证书请求,密钥
cd /etc/vsftpd/certs/
openssl genrsa 1024 > vsftpd.key #非对称加密算法rsa,使用1024位,算出一个密钥vsftp.key
openssl req -new -key vsftpd.key -out vsftpd.csr #利用私钥vsftp.key产生一个证书请求文件vsftp.csr



此处填写 ftp站点的 fqdn全称。
openssl ca -in vsftpd.csr -out vsftpd.cert #利用证书请求文件的到一个证书vsftp.cert
chmod 600 * #将该目录下的文件权限全部改为600,即所属用户可读写

修改配置文件:
添加上上述配置文件中关于ssl部分的配置。

4,。启动并设置开机启动
chkconfig vsftpd on
/etc/init.d/vsftpd start
5.验证

采用客户端的方式来验证
下载:FlashFXP 5
配置如下:




当点击链接按钮时:
会显示出颁发的证书 然后点击保存 或者保存一次 验证上传下载效果。(具体配置根据需求不同)




到此为止 已经安装完毕 并且可以登录。

本文出自 “赵文成” 博客,请务必保留此出处http://zhaowencheng.blog.51cto.com/7821671/1695119
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: