概念
1、SFTP是SSH的一部分,是一种传输档案至Blogger伺服器的安全方式。
2、它本身没有单独的守护进程,必须使用sshd守护进程来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。
3、SFTP同样是使用加密传输认证信息和传输的数据,所以使用SFTP是十分安全的。但由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多。
4、在对网络安全性要求更高时,代替FTP使用。
sftp 和 vsftp 区别
1、vsftp 是服务软件;sftp 是协议;
2、sftp传输方式使用了加密解密技术,所以,传输速度上要比普通的ftp慢很多;
3、如果侧重传输速度的话 考虑vsftp;如果侧重传输安全的话 考虑sftp;
1、关闭防火墙
systemctl stop firewalld.service && systemctl disable firewalld.service
2、关闭SElinux
# setenforce 0
# vim /etc/selinux/config
SELINUX=disabled //关闭(重启系统生效)
3、添加sftp用户
# groupadd sftp
# useradd -g sftp -s /bin/false sftp_user1
# passwd sftp_user1(123456)
4、创建sftp的数据目录
sftp用户会被限制在该目录下活动
# mkdir /opt/sftp
# chmod 755 /opt/sftp
# chown root. /opt/sftp
5、创建sftp用户的使用目录
sftp用户登录后,只能在这里上传下载文件
# mkdir /opt/sftp/sftp_user1
# chmod 755 /opt/sftp/sftp_user1
# chown sftp_user1. /opt/sftp/sftp_user1
6、修改sftp配置文件
# vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp //这行指定使用sftp服务使用系统自带的internal-sftp
Match User sftp_user1 //这行是用来匹配sftp的用户,多个用户用逗号分隔;
也可以用来匹配用户组:Match Group groupname
ChrootDirectory /opt/sftp //指定用户的根目录,并且用户只能在该目录下活动;
X11Forwarding no //这两行,如果不希望用户能使用端口转发的话就加上,否则删掉;
AllowTcpForwarding no
ForceCommand internal-sftp //指定sftp命令
7、重启sshd服务
# systemctl restart sshd
8、客户端登录验证
# ssh sftp_user1@服务器IP //输入密码登录失败
# sftp sftp_user1@服务器IP //输入密码登录到“/opt/sftp”下
9、权限验证
sftp用户在/opt/sftp下,无法添加、删除、修改保存、上传文件,只能下载;
sftp用户在/opt/sftp/sftp_user1下,增删查改、上传、下载没问题;