Linux 创建用户 限制SFTP用户只能访问某个目录

Linux 限制SFTP用户只能访问某个目录 

1. 新建用户并设置密码

useradd suser

passwd suser   // 输入密码

 

2. 设置sshd配置文件

cd /etc/ssh/

cp sshd_config sshd_config.back      // 备份

vi sshd_config

 

// 注释该行 不注释的话会报错

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


#这行指定使用sftp服务使用系统自带的internal-sftp
Subsystem sftp internal-sftp


#这行用来限制四川CA,不允许访问其他目录
Match User ca
#用chroot将用户的根目录指定到 /home/ca,这样用户就只能在 /home/ca下活动
ChrootDirectory /home/ca


#这行用来匹配用户
Match User userkj
#用chroot将用户的根目录指定到/home/userkj,这样用户就只能在/home/userkj下活动
ChrootDirectory /home/userkj

#其他用户继续添加......

X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

3. 重启sshd服务

> service sshd restart

>systemctl restart sshd

 已经成功实现了Linux 限制SFTP用户只能访问某个目录​。

2. 重启sshd时报错:Starting sshd: /etc/ssh/sshd_config line 141: Subsystem 'sftp' already defined.

原因:忘记把Subsystem注释,导致/etc/ssh/sshd_config同时存在有两个Subsystem节点

原文地址:https://www.cnblogs.com/gaobo543013306/p/9776338.html