SFTP,即Secure File Transfer Protocol,是一种安全的文件传输协议,它在SSH(Secure Shell)协议的基础上提供文件访问、文件传输和文件管理功能。SFTP通过加密通道来传输文件,确保数据传输的安全性,常用于远程服务器之间的文件传输

FTP明文传输数据,不太安全,ftp+ssl可以实现传输加密=ftps

1.创建FTP用户

user -d /ftp_www  -s /sbin/nologin mvpbang
echo "123123"  | passwd mvpbang --stdin

cp /etc/hosts /ftp_www/   //测试文档

2.安装vsftpd

yum install -y vsftpd

#配置文件 /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=no
# 定义登录用户
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
# 定义家目录(用户home)
local_root=/ftp_www
# 开启ssl
ssl_enable=yes
ssl_sslv2=yes
ssl_sslv3=yes
ssl_tlsv1=yes
# 定义登录强制ssl,数据传输ssl
force_local_logins_ssl=yes   
force_local_data_ssl=yes
# ssl证书位置
rsa_cert_file=/etc/vsftpd/.sslkey/vsftpd.perm
vim /etc/vsftpd/chroot_list
# ftp登录用户
mvpbang              

chmod 400 /etc/vsftpd/chroot_list

3.配置ssl证书

yum install -y openssl

cd /etc/vsftpd
mkdir .sslkey; cd .sslkey

# 生成ssl证书秘钥
openssl req -new -x509  -nodes -out vsftpd.perm  -keyout vsftpd.perm

chmod 400 vsftpd.perm

4.测试ftps

  • ftp客户端,选择sftp协议登陆验证

reference