1、创建SFTP用户组:# groupadd sftpgroup

2、创建SFTP用户:# useradd -g sftpgroup -s /sbin/nologin sftpuser

3、创建SFTP密码:# passwd sftpuser  -->  123456

4、指定sftpgroup组中的用户的家目录为/data/sftp:# mkdir -pv /data/sftp/sftpuser

5、指定用户sftpuser的家目录为/data/sftp/sftpuser:# usermod -d /data/sftp/sftpuser sftpuser

6、修改sshd_config配置文件:

# vim /etc/ssh/sshd_config

(1)注释Subsystem sftp /usr/libexec/openssh/sftp-server

(2)末尾新增如下代码:

Subsystem sftp internal-sftp

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

ChrootDirectory /data/sftp/%u

Match group sftpgroup

# service sshd restart

7、 修改目录属主、属组和权限:

# chown root.sftpgroup /data/sftp/sftpuser

# chmod 755 /data/sftp/sftpuser

8、 创建用户sftpuser登录后可写入的目录:

# mkdir -pv /data/sftp/sftpuser/upload

# chown sftpuser.sftpgroup /data/sftp/sftpuser/upload

# chmod 755 /data/sftp/sftpuser/upload

9、 测试:

# sftp sftpuser@localhost

image.png

使用WinSCP登录:

image.png

image.png

上传测试文件至upload目录:

image.png

此时SSH已不能正常登录:

image.png

image.png