Ceci est une ancienne révision du document !
Mise en place d'un stockage SFTP
Ce tutoriel a pour but de configurer le protocole SFTP sous Linux afin que des utilisateurs puissent y stocker des fichiers (tels que des sites web). SFTP est un protocole de transfert de fichiers similaire à FTP qui se base sur des connexions sécurisées via le protocole SSH.
1) Installer le paquet OpenSSH-Server (inclus par défaut dans les distributions récentes)
apt-get install openssh-server
2) Editer le fichier de configuration du serveur SSH /etc/ssh/sshd_config :
nano /etc/ssh/sshd_config
Y ajouter ces lignes :
allowGroups sftp #Définit les groupes d'utilisateurs autorisés à se connecter en SSH (ici le groupe sftp)
Subsystem sftp internal-sftp
Match group sftp #Précise le groupe auquel s'appliqueront les réglages suivants
ChrootDirectory /home/%u/ #Indique le répertoire personnel des utilisateurs (utiliser la variable //%u// pour automatiser le remplacement de chaque nom d'utilisateur)
X11Forwarding no #Désactiver l'affichage graphique via SSH
AllowTcpForwarding no #Désactiver l'ouverture de tunnels SSH (plus sécurisé)
Tout en supprimant (ou en commentant au début) celle-ci :
Subsystem sftp /usr/lib/openssh/sftp-server
3) Créer un groupe d'utilisateurs habilité à utiliser SFTP :
groupadd sftp
4) Créer les utilisateurs et leur dossier personnel en les attribuant au groupe précédemment créee
useradd jean -d /home/jean -g sftp
5) Faire de root le propriètaire de chaque répertoire utilisateur :
chown root:root /home/jean
(on peut aussi utiliser %u pour automatiser la tâche avec plusieurs utilisateurs, mais avec prudence car il peut déja y avoir d'autres utilisateurs sur le système qui ont besoin d'être propriètaire de leur propre dossier.
6)Attribuer tous les droits à root uniquement sur ce répertoire :
chmod 770 /home/jean
7) Créer un dossier supplémentaire à l'intérieur de chaque répertoire utilisateur et lui donner la proprièté à root :
mkdir /home/jean/sftp chown root:root /home/jean/sftp
8) Attribuer tous les droits à tous sur ce sous-dossier (en mode récursif):
chmod -R 777 /home/jean/sftp
Le sous-dossier crée à l'étape juste avant sera accessible en écriture à l'utilisateur contrairement à la racine de son répertoire qui ne lui sera accessible qu'en lecture seule (propriètaire root).
9) Relancer le service openssh-server :
service sshd restart
C'est terminé, les utilisateurs peuvent maintenant utiliser le serveur SFTP pour stocker leurs données !
En cas d'erreur lors du lancement du service SSHD, vérifiez la configuration et les permissions vues précédemment. Pour lancer le serveur en affichant les erreur à l'écran, faire :
/usr/sbin/sshd -ddd