Debian/Ubuntu Linux: Restrict an SSH user session to a specific directory by setting chrooted jail
To restrict an SSH user session to a specific directory on a Debian or Ubuntu Linux system, you can set up a chrooted jail. A chrooted jail is a way to limit the file system access of an SSH user to a specific directory.
Here's how to set up a chrooted jail for an SSH user:
- Create a new directory for the user:
sudo mkdir /jail/username- Set the ownership and permissions for the directory:
sudo chown root:root /jail/usernamernsudo chmod 755 /jail/username- Copy the necessary files into the jail directory:
sudo cp -av /bin /lib /lib64 /usr /jail/username/- Edit the
/etc/ssh/sshd_configfile and add the following line to enable chrooting for the specified user:
Match User usernamern ChrootDirectory /jail/usernamern ForceCommand internal-sftprn AllowTcpForwarding no- Restart the SSH daemon to apply the changes:
sudo service ssh restartNow, when the specified user logs in over SSH, they will be restricted to the /jail/username directory and will not be able to access the rest of the file system.
Note: This is just a basic example, and you may need to add additional files to the jail directory depending on the system and user requirements.
