centos 服务器使用 sftp


建立用户设置密码

useradd -g sftp -s /sbin/nologin -d /home/docker/www/sftpuser sftpuser
passwd sftpuser

chown -R root:sftp /home/docker/www/sftpuser
chown -R sftpuser:sftp /home/docker/www/sftpuser

修改 /etc/ssh/sshd_config

#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp

文件末尾增加,否则 root 用户不能登录

Match Group sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

目录权限问题

sftpuser 根目录是:/home/docker/www/sftpuser

以下都需要是 root 用户权限,否则无法登录。在里面再建立 code 目录 设置为 chown -R sftpuser:sftp /home/docker/www/sftpuser/code

  • /home/docker/www
  • /home/docker/www/sftpuser

参考资料:

http://www.freeoa.net/osuport/sysadmin/use-sftp-instead-ftp-transfer-fil...

https://blog.csdn.net/fenglailea/article/details/78631760