[ Linux ] sFTP Access For SSH User To Specified Folder

Let’s create sFTP only group:

groupadd sftp_users

Create sFTP user and add to sFTP group:

useradd sftp_user
usermod -G sftp_users sftp_user
usermod sftp_user -s /bin/false
usermod sftp_user -d /home/sftp_user

Create folder for sFTP user and set premissions:

mkdir /home/sftp_user
chown root.root /home/sftp_user/
chmod 755 /home/sftp_user/

Edit sshd config:

nano /etc/ssh/sshd_config

Add at the end of config:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

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

and restart sshd service:

service ssh restart

If you have some problems with auth, check log file:

 tail -f /var/log/auth.log

Restrict SFTP users to home folder