Debian 11 Bullseye
Sponsored Link

OpenSSH : SFTP only + Chroot
2021/08/17
 
Configure SFTP only + Chroot.
Some users who are applied this setting can access only with SFTP and also applied chroot directory.
[1] For example, Set [/home] as the Chroot directory.
# create a group for SFTP only

root@dlp:~#
groupadd sftp_users

root@dlp:~#
vi /etc/ssh/sshd_config
# line 116 : comment out and add a line like below

#
Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
# add to the end

Match Group sftp_users
    X11Forwarding no
    AllowTcpForwarding no
    ChrootDirectory /home
    ForceCommand internal-sftp

root@dlp:~#
systemctl restart ssh
# apply to a user [debian] for SFTP only as an example

root@dlp:~#
usermod -G sftp_users debian

[2] Try to access with a user and verify the settings.
debian@node01:~$
ssh debian@dlp.srv.world

Enter passphrase for key '/home/debian/.ssh/id_rsa':
This service allows sftp connections only.
Connection to dlp.srv.world closed.   # denied as settings

debian@node01:~$
sftp debian@dlp.srv.world

Enter passphrase for key '/home/debian/.ssh/id_rsa':
Connected to dlp.srv.world.
sftp>
Matched Content