限制ssh用户只能用于SFTP登录且只能访问指定目录, 只读权限。指定用户可写入...

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

创建 Sftp Chroot 访问目录

# mkdirs /home/sftp/hychroot

创建用户

# useradd -d /home/sftp/hychroot -s /bin/false hy

在 sshd_config 里设置 sftp-server Subsystem

使用 internal-sftp 替代默认的 sftp-server 作为 sftp-server Subsystem

修改 /etc/ssh/sshd_config 文件, 注释掉下面的一行:

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

然后添加一行

Subsystem       sftp    internal-sftp
# grep sftp /etc/ssh/sshd_config
#Subsystem      sftp    /usr/libexec/openssh/sftp-server
Subsystem       sftp    internal-sftp

设置基于用户的 Chroot Directory

# tail /etc/ssh/sshd_config
Match User hy
        ChrootDirectory /home/sftp/hychroot
        ForceCommand internal-sftp
# service sshd restart

添加指定用户写入文件夹

# mkdir /home/sftp/hychroot/fzwrite
# chown fz:fz fzwrite
fz$ ln -s /home/sftp/hychroot/fzwrite /home/fz/hyfile
fz$ touch /home/fz/hyfile/test

Chroot SFTP 登陆

# sftp hy@sftpserver
hy's password:
sftp> pwd
Remote working directory: /

sftp> ls
fzwrite
sftp> cd /etc
Couldn't canonicalise: No such file or directory
sftp> cd /fzwrite
sftp> ls
test

How to Setup Chroot SFTP in Linux (Allow Only SFTP, not SSH)

SSH Authentication Refused: Bad Ownership or Modes for Directory问题解决办法

Where is the sshd log file on Red Hat Linux stored?

用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录

转载于:https://my.oschina.net/LiveCreator/blog/3021808

你可能感兴趣的:(限制ssh用户只能用于SFTP登录且只能访问指定目录, 只读权限。指定用户可写入...)