1. 查看 SSH 版本, openssh 版本必须大于 4.8p1
SSH -V
2. 创建用户组
groupadd sftp
3. 创建用户
- useradd -g sftp -s /sbin/nologin -M sftp
- passwd sftp
4. 创建 sftp 目录, 并设置为 sftp 主目录
- mkdir -p /sftp/main
- usermod -d /sftp/main sftp
5. 编辑 sftp 配置文件, 用 #注掉 Subsystem sftp /usr/libexec/openssh/sftp-server 一行
VIM /etc/SSH/sshd_config
并在最后增加
- Subsystem sftp internal-sftp ## 指定使用 sftp 服务使用系统自带的 internal-sftp
- Match Group sftp ## 匹配 sftp 组的用户, 如果要匹配多个组, 多个组之间用逗号分割
- ChrootDirectory /var/www/html/uploads/ ##sftp 主目录指定到 / var/www/HTML/upoads/
- ForceCommand internal-sftp ## 指定 sftp 命令
- AllowTcpForwarding no ## 用户不能使用端口转发
- X11Forwarding no ## 用户不能使用端口转发
6. 设置目录权限
- chown root:sftp /sftp/main
- chmod 755 /sftp/main
7. 如果 SELINUX 是开启状态, 将文件中的 SELINUX=enforcing 修改为 SELINUX=disabled , 然后保存.
VIM /etc/selinux/config
8. 重启
service sshd restart
9. 测试
sftp sftp@127.0.0.1
来源: http://www.bubuko.com/infodetail-2854278.html