Sftp搭建文档
1、 查看openssh的版本
# ssh -V
Openssh版本必须大于4.8p1。
2、 创建用户并设置登录密码
#groupadd sftp
#useradd –d /data/sftp/mysftp -g sftp -s /sbin/false mysftp
#echo “mysftp123” |passwd –stdin mysftp
3、 配置sshd_config
找到如下这行,用#符号注释掉,大致在文件末尾处。
# Subsystem sftp
/usr/libexec/openssh/sftp-server
# vim /etc/ssh/sshd_config
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /data/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
4、 设定Chroot目录权限
#chown root:sftp /data/sftp/mysftp
#chmod 755 /data/sftp/mysftp
5、 建立SFTP用户登入后可写入的目录
照上面设置后,在重启sshd服务后,用户mysftp已经可以登录。但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供mysftp上传文件。这个目录所有者为mysftp,所有组为sftp,所有者有写入权限,而所有组无写入权限。命令如下:
#mkdir /data/sftp/mysftp/upload
#chown mysftp:sftp /data/sftp/mysftp/upload
#chmod 755 /data/sftp/mysftp/upload
6、 修改/etc/selinux/config
#vim /etc/selinux/config
SELINUX=disabled
7、 重启sshd服务
#systemctl restart sshd