linux ftps ftp-over-ssl 配置实验 本文为亲自实践 全文参考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 原来的配置文件(简单做个备份) cpvsftpd.conf vsftpd.conf.bak 2)修改新的配置文件,配置文件内容如下: ~~~~~~~~~~~~~~~~~~~~~~~~~~~ #允许实体用户登录 idle_session_timeout=600 write_enable=YES local_umask=022xferlog_enable=YESxferlog_std_format=YESxferlog_file=/var/log/vsftpd.logchroot_list_enable=YES #是否启用chroot文件chroot_list_file=/etc/vsftpd/chroot_list #指定chroot文件位置listen=YES listen_port=3232listen_address=0.0.0.0pasv_enable=YES #是否开启被动模式pasv_min_port=22222pasv_max_port=22228pam_service_name=vsftpd #pam模块的名称userlist_enable=YES #启用userlist_enableuserlist_deny=NO #如果值为NO 则只有在列表中的用户名才能使用ftp 如果值为YES时 则列表里的用户不能访问。userlist_file=/etc/vsftpd/user_list #指定文件位置#tcp_wrappers=YES #如下配置文件内容设置ssl传输加密。 下一部分详解。####ssl#####ssl_enable=YESssl_sslv2=YESssl_tlsv1=YESssl_sslv3=YESforce_local_data_ssl=YESforce_local_logins_ssl=YESrsa_cert_file=/etc/vsftpd/Olocal_enable=YESidle_session_timeout=600write_enable=YESlocal_umask=022xferlog_enable=YESxferlog_std_format=YESxferlog_file=/var/log/vsftpd.logchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listlisten=YESlisten_port=21listen_address=0.0.0.0pasv_enable=YESpasv_min_port=22222pasv_max_port=22228pam_service_name=vsftpduserlist_enable=YESuserlist_deny=NOuserlist_file=/etc/vsftpd/user_list#tcp_wrappers=YES####ssl#####ssl_enable=YESssl_sslv2=YESssl_tlsv1=YESssl_sslv3=YESforce_local_data_ssl=YESforce_local_logins_ssl=YESrsa_cert_file=/etc/vsftpd/certs/vsftpd.certrsa_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 #建立与证书有关的目录 mkdirnewcerts #与新证书有关的目录 mkdir crl #证书吊销列表 touch index.txt touch serial echo “01” > serial #给serial一个初始值 openssl genrsa1024 > private/cakey.pem #使用非对称加密算法rsa,采用1024为算法,得到一个密钥存放在private/cakey.pem中 chmod 600private/cakey.pem #私钥不允许别人查看,所以将cakey.pem文件的权限改为600,只有所属用户可以读写 openssl req -new-key private/cakey.pem -x509 -out cacert.pem -days 3650 #使用CA服务器自己的私钥cakey.pem产生一个证书cacert.pem file:///C:/Users/jinsong/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg 此处填写 本ca服务器的站点,其他的使用默认即可 mkdir -pv/etc/vsftpd/certs #创建一个目录,存放于vsftp有关的证书,证书请求,密钥 cd/etc/vsftpd/certs/ openssl genrsa1024 > vsftpd.key #非对称加密算法rsa,使用1024位,算出一个密钥vsftp.key openssl req -new-key vsftpd.key -out vsftpd.csr #利用私钥vsftp.key产生一个证书请求文件vsftp.csr file:///C:/Users/jinsong/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 此处填写 ftp站点的 fqdn全称。 openssl ca -invsftpd.csr -out vsftpd.cert #利用证书请求文件的到一个证书vsftp.cert chmod 600 * #将该目录下的文件权限全部改为600,即所属用户可读写 修改配置文件: 添加上上述配置文件中关于ssl部分的配置。 4,。启动并设置开机启动 chkconfig vsftpd on /etc/init.d/vsftpd start 5.验证 采用客户端的方式来验证 下载:FlashFXP 5 配置如下: 当点击链接按钮时: 会显示出颁发的证书 然后点击保存 或者保存一次 验证上传下载效果。(具体配置根据需求不同) 到此为止 已经安装完毕 并且可以登录。 有兴趣朋友可以了解更多java教程 http://java.itcast.cn/java/video.shtml
|