• 注册
当前位置:1313e > 默认分类 >正文

cento和ubuntu安装ftps

FTPS是在安全套接层使用标准的FTP协议和指令的一种增强型TFP协议,为FTP协议和数据通道增加了SSL安全功能。FTPS也称作“FTP-SSL”和“FTP-over-SSL”。SSL是一个在客户机和具有SSL功能的服务器之间的安全连接中对数据进行加密和解密的协议。
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
主动模式:FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。

被动模式:FTP库户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。

1.ubuntu 安装ftps

1)安装 vsftpd
apt-get install vsftpd
2)创建用户并在/home 目录下建立一个用户目录username
useradd -m test
passwd test

若是想更改用户登录目录,则执行命令
usermod -d /newpath test
3)更改配置文件
vi /etc/vsftpd.conf

listen=YES
listen_ipv6=NO
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
#主动式连接使用的数据通道
connect_from_port_20=NO
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key#启用被动连接模式
pasv_enable=Yes
pasv_min_port=10000
pasv_max_port=10100
allow_writeable_chroot=YES
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES

4)重启ftps
service vsftpd restart
5)FTP服务被动模式命令端口默认是21号端口,这里我们开放21号端口和数据端口范围
ufw allow from any to any port 21,10000:10100 proto tcp
或者直接关闭防火墙
ufw disable
6)测试能否连接
apt install lftp
lftp ftp://username@ip:21

2.centos 安装ftps

1)设置防火墙
systemctl stop firewalld.service #停止firewall(防火墙)
systemctl disable firewalld.service #禁止firewall开机启动
vi /etc/sysconfig/selinux
SELINUX=disabled
然后执行:setenforce 0
2)安装vsftpd
yum install -y vsftpd
3)创建用户名和密码
useradd user1
echo “123” |passwd --stdin user1
4)启动
service vsftpd start
5).配置本地CA证书服务器,修改配置文件:
vi /etc/pki/tls/openssl.cnf
42 dir = /etc/pki/CA # Where everything is kept
85 countryName = optional
86 stateOrProvinceName = optional
87 organizationName = optional

cd /etc/pki/CA/
mkdir certs newcerts crl
touch index.txt serial
echo “01” >serial
openssl genrsa 1024 > private/cakey.pem

chmod 600 private/cakey.pem
ll private/cakey.pem

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
会打印
Country Name (2 letter code) [GB]:cn

State or Province Name (full name) [Berkshire]:shandong

Locality Name (eg, city) [Newbury]:jinan

Organization Name (eg, company) [My Company Ltd]:hello

Organizational Unit Name (eg, section) []:soft

Common Name (eg, your name or your server’s hostname) []:ca.hello.com
Email Address []:hello@hello.com
6)为ftp服务器创建证书
mkdir /etc/vsftpd/certs
cd /etc/vsftpd/certs
openssl genrsa 1024 >vsftpd.key

openssl req -new -key vsftpd.key -out vsftpd.csr
依次输入地区单位等信息
openssl ca -in vsftpd.csr -out vsftpd.cert
选择y
chmod 600 *
7)ftp服务应用证书
vim /etc/vsftpd/vsftpd.conf

rsa_cert_file=/etc/vsftpd/certs/vsftpd.cert
rsa_private_key_file=/etc/vsftpd/certs/vsftpd.key
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_enable=YES
ssl_sslv2=YES
ssl_sslv3=YES
ssl_tlsv1=YES
force_anon_logins_ssl=YES
force_anon_data_ssl=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
require_ssl_reuse=NO
ssl_ciphers=HIGHanonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES
#锁定用户到各自的根目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
listen_port=21        #端口号自己定义
listen_ipv6=NO
pam_service_name=vsftpd
#local_root=/ftpdata/ #用户路径
user_config_dir=/etc/vsftpd/userconfig #用户配置文件目录,里面以用户名创建文件,并输入local_root=/path
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=59000
pasv_max_port=60000
reverse_lookup_enable=NO
max_clients=1000
max_per_ip=1000

8)重启服务
systemctl restart vsftpd.service
9)测试
yum -y install lftp
lftp ftp://username@ip:21

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录