SFTP
PHASE 1 – Configuration des utilisateurs
1. On doit créer les dossiers des utilisateurs dans /data/users. Nous avons au total 3 users ( Dave,
Gael et Junior)
mkdir -p /data/users/{dave,gael,junior}/files
2. On doit créer les utilisateurs en les interdisant l’accès par SSH, on les autorisera seulement par
SFTP
useradd -d /data/users/dave -s /sbin/nologin dave
useradd -d /data/users/gael -s /sbin/nologin gael
useradd -d /data/users/junior -s /sbin/nologin junior
Explication :
• -d : définit le dossier personnel.
• -s /sbin/nologin : interdit la connexion SSH normale (juste SFTP).
3. Nous devons définir le mot de passe des utilisateurs qui vont leur permettre de s’authentifier sur
SFTP
passwd users
4. Fixer les permissions
ici root doit avoir les droit de proprio sur les 3 utilisateur et avec le droit de RWX et les autres XR
seulement
les utilisateurs auront le droit de proprio seulement sur les dossier se trouvant a l’intérieur de leurs
dossier personnel
chown root:root /data/users/{dave,gael,junior}
chmod 755 /data/users/{dave,gael,junior}
chown dave:dave /data/users/dave/files
chown gael:gael /data/users/gael/files
chown junior:junior /data/users/junior/files
Avec ça, la configurations de nos utilisateurs avec leurs droit aux dossier est fini, nous devons
maintenant configurer un port personnaliser pour les connexion SFTP
PHASE 2 – Configuration de SFTP avec port personnalisé
1. nous allons editer le fichier /etc/ssh/sshd,conf et on ajoutes les ligne suivantes
Port 2222
Protocol 2
Subsystem sftp internal-sftp
Match User dave
ChrootDirectory /data/users/dave
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Explication des commandes
Port 2222
• Par défaut, SSH écoute sur le port 22.
• Ici, on redéfinit le port SSH/SFTP à 2222, pour des raisons de sécurité ou d’isolation.
Protocol 2
• Force l’utilisation du protocole SSH version 2, plus sécurisé.
Subsystem sftp internal-sftp
• Définit comment sshd doit gérer le service SFTP.
internal-sftp signifie :
• Utiliser le sous-système SFTP intégré à SSH.
Match User dave
• Ce bloc de configuration s’applique uniquement à l’utilisateur dave.
• Si dave se connecte, les directives suivantes seront appliquées à sa session uniquement.
ChrootDirectory /data/users/dave
• Enferme l'utilisateur dans le répertoire /data/users/dave.
• Il ne pourra jamais sortir de ce dossier lors de sa session SFTP
ForceCommand internal-sftp
• Force l'exécution du service SFTP et empêche toute ouverture de shell.
• Même si dave avait /bin/bash comme shell, il ne pourra que faire du SFTP.
AllowTcpForwarding no
• Désactive le tunneling SSH (port forwarding) pour cet utilisateur.
X11Forwarding no
• Désactive le transfert d'affichage graphique (X11).
• Comme l’utilisateur est limité à SFTP, ce paramètre est juste une sécurité
supplémentaire.
Après tout ça, on redémarre le service sshd et activer si c’était désactiver
sudo systemctl restart sshd
sudo systemctl eanble sshd
Autoriser le nouveau port sur le par-feu
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd –reload
Essayer la connexion des utilisateurs en local pour voir si ca marche
sftp -p 2222 dave@localhost
Tester sur les machines distance avec l’application filezilla ou bien en ligne de commande
sftp -P 2222 dave@[Link]