CentOS7安装PureFTP和vsFTP使用加密连接
LNMP环境搭建好后,日后需要管理webroot路径下的文件,采用加密方式的FTP方式比较简单也安全
安装PureFTP
yum install pure-ftpd
配置PureFTP
vi /etc/pure-ftpd/pure-ftpd.conf
更改参数 VerboseLog no改为yes #记录客户端日志 NoAnonymous no改为yes #拒绝匿名用户登录 添加注释 #PAMAuthentication yes 删除注释 PureDB /etc/pure-ftpd/pureftpd.pdb #指定用户数据库文件路径 UnixAuthentication yes #启用unix认证 CreateHomeDir yes IPV4Only yes #只使用ipv4连接
设置自启
systemctl enable pure-ftpd systemctl start pure-ftpd
在系统中添加相应的用户和组
groupadd ftpgroup useradd ftpuser -g ftpgroup -d /usr/share/nginx/html/ -s /sbin/nologin pure-pw useradd ftptest -u ftpuser -g ftpgroup -d /usr/share/nginx/html/
回车后提示输入两次密码
pure-pw mkdb #保存用户数据库
配置PureFTP加密
yum install openssl
vi /etc/pure-ftpd/pure-ftpd.conf 删除注释 TLS 1 TLSCipherSuite HIGH
创建证书目录
mkdir -p /etc/ssl/private/
创建证书
openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
根据提示输入相关信息
Country Name (2 letter code) [XX]: #输入国家名称 State or Province Name (full name) []: #输入州或省名称 Locality Name (eg, city) [Default City]: #输入城市名称 Organization Name (eg, company) [Default Company Ltd]: #输入组织或公司名称 Organizational Unit Name (eg, section) []: #输入部门名称 Common Name (eg, your name or your server's hostname) []: #输入系统名称 Email Address []: #输入邮件地址
更改证书权限
chmod 600 /etc/ssl/private/pure-ftpd.pem
重启ftp服务
systemctl restart pure-ftpd
客户端连接选择Require Explicit FTP over TLS
安装vsftpd
yum -y install vsftpd
配置vsftpd
vi /etc/vsftpd/vsftpd.conf
更改注释 anonymous_enable=NO #拒绝匿名用户登录 local_enable=YES #默认开启允许本地用户登录vsftpd write_enable=YES #默认开启启用对本地用户的写访问 listen=YES #开启监听ipv4的21端口 添加注释 #listen_ipv6=YES #关闭ipv6监听 Job for vsftpd.service failed because the control process exited with error code. See "systemctl status vsftpd.service" and "journalctl -xe" for details. (centos7默认未注释掉ipv6,若当前网络环境不支持ipv6,从而导致出现服务无法启动的错误) 删除注释 chroot_local_user=NO #将用户限制在本目录 chroot_list_enable=YES #允许使用用户清单文件 chroot_list_file=/etc/vsftpd/chroot_list #只允许chroot_list里面的user可以切换文件夹 添加配置 allow_writeable_chroot=YES #允许用户写目录
新建配置文件
vi /etc/vsftpd/chroot_list 加入登陆用户名ftpuser
设置自启
systemctl start vsftpd.service systemctl enable vsftpd.service
系统中添加用户
useradd -g root -M -d /usr/share/nginx/html/ -s /sbin/nologin ftpuser passwd ftpuser
加目录权限
chown -R ftpuser.root /usr/share/nginx/html/
配置vsftpd加密
mkdir -p /etc/ssl/private/ openssl req -x509 -nodes -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem -days 365 -newkey rsa:2048 chmod 600 /etc/ssl/private/vsftpd.pem
增加配置
vi /etc/vsftpd/vsftpd.conf
ssl_enable=YES #开启SSL ssl_tlsv1=YES #使用TLS加密 strict_ssl_read_eof=YES #上传数据使用SSL strict_ssl_write_shutdown=YES #下载数据使用SSL force_local_data_ssl=YES #所有非匿名用户强制使用SSL发送和接受数据 force_local_logins_ssl=YES #所有非匿名用户强制使用SSL进行登陆 rsa_cert_file=/etc/ssl/private/vsftpd.pem #证书路径 rsa_private_key_file=/etc/ssl/private/vsftpd.pem #私钥路径 require_ssl_reuse=NO #要求所有SSL连接都会重用SSL会话 ssl_ciphers=HIGH #发现使用存在缺陷的特定算法的攻击者 debug_ssl=YES #允许SSL调试日志 pasv_min_port=40000 pasv_max_port=41000 hide_file=.*
更改默认端口号
vim /etc/vsftpd/vsftpd.conf 添加 listen_port=2121 vim /etc/services 改为 ftp 2121/tcp
重启服务
systemctl restart vsftpd
设置防火墙
firewall-cmd --zone=public --add-port=2121/tcp --permanent firewall-cmd --zone=public --add-port=40000-41000/tcp --permanent firewall-cmd --add-service=ftp --permanent firewall-cmd --reload
本站所有文章均可随意转载,转载时请保留原文链接及作者。