Centos7配置fstp
1 创建用户 useradd -s /sbin/nologin -M sftpuser
2 设置密码 passwd sftpuser
3 mkdir /sftp
4 cd /sftp
5 mkdir sftpuser
6 chown -R sftpuser:sftpuser sftpuser
7 vi /etc/ssh/sshd_config
#注释掉这行
#Subsystem sftp /usr/libexec/openssh/sftp-server
添加这行:
Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp,如果不添加,用户无法通过sftp登录。
#添加在配置文件末尾
Match User sftpuser #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /sftp/%u
#用chroot指定用户根目录
#这里的%u指的是账号名,/sftp/sftpuser
ForceCommand internal-sftp #指定sftp命令
X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no
8 systemctl restart sshd
9 sftp -oPort=22 sftpuser@127.0.0.1
packet_write_wait: Connection to 127.0.0.1 port 22: Broken pipe
Couldn't read packet: Connection reset by peer
10 无法登录问题处理
chown -R root:root /sftp/sftpuser
mkdir /sftp/sftpuser/data
cd /sftp/sftpuser/
chown sftpuser:sftpuser data
11 systemctl restart sshd
12 sftp -oPort=22 sftpuser@127.0.0.1
sftp> pwd
sftp> lpwd
sftp> cd /data
可以查看下sftp业务目录与操作系统目录的差异。