配置SFTP
1.创建sftp用户组,组名为 sftpusers
# groupadd sftpusers
2.创建sftp_user用户,并设置为sftp组
# useradd -g sftpusers -s /sbin/nologin -M sftp_user
-g:加入主要组 -s:指定用户登入后所使用的shell(禁止用户ssh登录) -M:不自动建立用户的登入目录
sftp_user为sftp用户名
3.创建密码
# passwd sftp_user
(12345678)
![](https://img-blog.csdnimg.cn/6de35f05563149bbab3fbb896c1babc4.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
4.创建sftp_user用户的根目录(/usr/sftppath)和属主属组,修改权限为755
# mkdir /usr/sftppath
# chown root:sftpusers /usr/sftppath
# chmod 755 /usr/sftppath/
![](https://img-blog.csdnimg.cn/265fc493b20b4faa844ef4c3a934dc71.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
5.创建该用户所属的数据路径
# mkdir -p /usr/sftppath/sftpdata
![](https://img-blog.csdnimg.cn/75a31edc1d974e548aea24ec645d4e71.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_17,color_FFFFFF,t_70,g_se,x_16)
# chown sftp_user:sftpusers /usr/sftppath/sftpdata
![](https://img-blog.csdnimg.cn/835b3bce1e6649b999586991c1be7905.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
# chmod 755 /usr/sftppath/sftpdata
![](https://img-blog.csdnimg.cn/879c2a6417d14c95bbe11f62f6ef7feb.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
6.修改 /etc/ssh/sshd_config 的配置文件
# vi
/etc/ssh/sshd_config
把原来的sshd_config配置文件里的subsystem行注释掉,并增加一行,如下:
# override default of no subsystems
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
在 sshd_config 文件最后添加以下内容:
Match Group sftpusers
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /usr/sftppath
# 设定属于用户组sftpusers的用户访问的根文件夹,sftp用户在根路径下只有读的权限
ForceCommand internal-sftp
![](https://img-blog.csdnimg.cn/15958027d3d94c0b9d5b835c975ddbfc.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_20,color_FFFFFF,t_70,g_se,x_16)
7.配置完成后,重启sshd
(如果遇到问题,先看提示;
查看端口有没有错误# semanage port -l | grep ssh;
查看配置文件/etc/ssh/sshd_config)
# sftp sftp_user@192.168.3.56
![](https://img-blog.csdnimg.cn/60ed1892dc044c8297e4fae37c6c325a.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6ZuF5LqM5LqM,size_17,color_FFFFFF,t_70,g_se,x_16)