Créer un user SSH et le restreindre à son home directory
Parfois, il est nécessaire de créer un accès ssh/sftp mais sans donner l’accès à tout le serveur. Sans avoir à installer un service ftp supplémentaire sur le serveur, on peut le faire directement avec un user ssh.
Pour commencer, créez un nouvel utilisateur ssh et définissez le mot de passe :
useradd newuser
Pour changer son home directory, on peut utiliser cette commande.
usermod -m -d /var/www newuser
le directory root sera /var/www
Ensuite, il faut bloquer l’utilisateur dans son directory root et ses sous dossiers :
nano /etc/ssh/sshd_config
Rajouter dans le fond du fichier :
Match user newuser ChrootDirectory %h ForceCommand internal-sftp
Attention, le propriétaire du home directory doit être root avec les droit 755. Sinon, ça ne fonctionnera pas.
Ne pas oubliez de redémarrer ssh
service ssh restart
Astuce
Si vous ne voulez pas que dans le ftp, l’adresse du ChrootDirectory soit visible, voici ce qu’il faut utiliser dans /etc/ssh/sshd_config
Match user newuser ChrootDirectory %h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp