Linux环境sftp配置

1.查看SSH版本,openssh版本必须大于4.8p1

ssh -V

2.创建用户组

groupadd sftp-users

3.在sftp-users用户组下创建admin,admin不用于登录系统(/sbin/nologin为禁止登录shell的用户)。

useradd -g sftp-users -s /sbin/nologin -M admin
passwd admin

4.创建sftp主目录,并指定给admin

cd /

mkdir -p sftp/main usermod -d /sftp/main admin

5.设置主目录权限,只能给root,并设定755或750

chown root:root /sftp/main
chmod 755 /sftp/main

6.编辑sftp配置文件

vim /etc/ssh/sshd_config

用"#"注掉Subsystem      sftp    /usr/libexec/openssh/sftp-server 一行

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

并在最后增加

Subsystem       sftp    internal-sftp  ##指定使用sftp服务使用系统自带的internal-sftp
Match Group sftp-users  ##匹配sftp-users组的用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /sftp/main/  ##sftp主目录指定到/sftp/main/
ForceCommand    internal-sftp  ##指定sftp命令
AllowTcpForwarding no  ##用户不能使用端口转发
X11Forwarding no   ##用户不能使用端口转发 
PermitRootLogin yes(防止后续root不可登陆系统,注意文件中参数是不是已存在)

7.如果SELINUX是开启状态,将文件中的SELINUX=enforcing 修改为 SELINUX=disabled ,然后保存。

vim /etc/selinux/config

8.创建用户xiaojin,并创建专属目录,并授权。

cd /sftp/main

mkdir xiaojinFTP

useradd -g sftp-users -s /sbin/nologin xiaojin

passwd xiaojin
usermod -d /sftp/main/xiaojinFTP xiaojin

chown xiaojin:sftp-users /sftp/main/xiaojinFTP

chmod 777 /sftp/main/xiaojinFTP

9.重启

service sshd restart

10.测试

sftp xiaojin@127.0.0.1
quit
原文地址:https://www.cnblogs.com/jinzhiming/p/9989181.html