sftp部署

概念

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下,增删查改、上传、下载没问题;

你可能感兴趣的:(系统服务,linux,ssh,运维)