Centos配置sftp

shell
1
2
3
# 创建 sftp 用户组
groupadd sftp

mysftp 加入用户组

-s 禁止用户 ssh 登陆

-G 加入 sftp 用户组

shell
1
useradd -G sftp -s /sbin/nologin mysftp

设置用户密码

shell
1
passwd mysftp

修改配置文件

shell
1
vim /etc/ssh/sshd_config

说明 Match Group sftp 匹配 sftp 用户组中的用户 ChrootDirectory % h 只能访问默认的用户目录 (自己的目录),例如 /home/mysftp

下面这行注释掉
shell
1
2
3
4
5
6
7
8
9
Subsystem sftp /usr/libexec/openssh/sftp-server
##文件后面加 尾部 最后 DD
Subsystem sftp internal-sftp
Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

重启 ssh

shell
1
systemctl restart sshd.service

设置权限

shell
1
2
3
chown root:sftp /home/mysftp
chgrp -R sftp /home/mysftp
chmod -R 755 /home/mysftp

设置用户可以上传的目录

该目录下允许用户上传删除修改文件及文件夹

1
2
3
mkdir /home/mysftp/upload
chown -R mysftp:sftp /home/mysftp/upload
chmod -R 755 /home/mysftp/upload