- 1 - Créer un GROUP "sftponly"
sudo groupadd sftponly
- 2 - Créer un USER
- Créer le répertoire de l'utilisateur qui sera chrooté:
- Sans shell : mettre "/bin/false" comme shell, ce qui revient à n'autoriser aucun shell.
- Ligne dans /etc/passwd : carnot-sftp:x:1006:1007::/home/sites-web/carnot-sftp:/bin/false
sudo mkdir /home/sites-web/sftp-clients/sftp-client1
sudo useradd -d /home/sites-web/sftp-clients/sftp-client1 -s /bin/false sftp-client1
- 3 - Ajouter le USER dans le GROUP "sftponly" dans /etc/group
sudo vi /etc/group
sftponly:x:1007:sftp-client1
- 4 - Modifier la configuration de SSHD
sudo vi /etc/ssh/sshd_config
- a) - changer "Subsystem sftp /usr/lib/openssh/sftp-server" en "Subsystem sftp internal-sftp"
# override default of no subsystems
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
- b) - ajouter les lignes suivantes
Match Group sftponly
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
- c) - Redémarrer le deamon OpenSSH
sudo /etc/init.d/ssh restart
- 5 - Configuration des droits du dossier ChRooté
drwxr-xr-x 5 root root 4.0K Oct 21 10:40 sftp-clients
xxxxxxxxxxxx$ ls -lh sftp-clients
total 8.0K
drwxr-xr-x 2 sftp-client1 sftponly 4.0K Oct 21 10:40 sftp-client1
- 6 - Accès SSFTP ChRooté
- sftp -Pxxxx sftp-client1@www.machine.com
benoit@sephiroth:~$ sftp -Pxxxx sftp-client1@www.machine.com
sftp-client1@www.machine.com's password:
Connected to www.machine.com
sftp> pwd
Remote working directory: /
sftp> ls
fichiers
- 7 - Accès SFTP non-CHROOTé
benoit@sephiroth:~$ sftp -P2277 www.instituts-carnot.eu
benoit@www.instituts-carnot.eu's password:
Connected to www.instituts-carnot.eu.
sftp> pwd
Remote working directory: /home/users/benoit