Pour réaliser cette recette, il nous faut un utilisateur (Lazare) et sshd. Ce dernier pourra utiliser le SFTP, mais pourra pas se connecter en ssh au serveur. De plus il sera restreint (jail) dans sont répertoire utilisateur (home)

Nous commençons par crée un groupe dédié au utilisateurs SFTP :
# groupadd sftp_users

Si Lazare n’existe pas, nous le crééons :
# useradd -G sftp_users -s /sbin/nologin lazare# passwd lazare

Sinon :
usermod –G sftp_users -s /sbin/nologin

* pour changer le répertoir utilisateur, utiliser l’option -d dans les deux cas précédents.

Nous éditons ensuite le fichier de configuration ssh /etc/ssh/sshd_config.

Il faut commenter la ligne :
#Subsystem sftp /usr/libexec/openssh/sftp-server

et ajouter les options suivantes :

Subsystem sftp internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

Pour finir cette étape, nous redémarrons le service : # service sshd restart

Nous devons ensuite attribuer les droits sur le dossier utilisateurs :

# chmod 755 /home/lazare
# chown root /home/lazare
# chgrp -R sftp_users /home/lazare

Le tour est joué :)