Mise en place d’un serveur sftp pour une connexion par le biais de SSH
sur almalinux 9
Pour le serveur SFTP, on utilise ssh pour communiquer avec le serveur, donc s’il n est pas installé, on l’installe avec la commande :
> sudo dnf install openssh-{server,clients}
> sudo systemctl enable – -now sshd
On ouvre le parefeu :
> sudo firewall-cmd – -add-service=ssh – -permanent
> sudo firewall-cmd – -reload
on va maintenant créer un groupe pour les utilisateur sftp :
> sudo groupeadd sftpusers
on créé un utilisateur avec certaine options particulieres :
> sudo useradd -g sftpusers -d /sftp/user1 -s /usr/bin/nologin user1
-g pour l’ajouter au groupe sftpusers
-d pour lui préciser son répertoire d’origine
-s pour lui préciser son shell, ici avec nologin, il n aura pas accès au shelle t ne pourra pas passer de commandes.
on lui ajoute un mot de passe :
> passwd user1
on edite maintenant le fichier /etc/ssh/sshd_config
en bas du fichier a la suite, on va rajouter une directive :
Match Group sftpusers
(tab) ForceCommand internal-sftp
(tab) ChrootDirectory /sftp/%u
(tab) AllowTcpForwarding no
on enregistre le fichier et on relance le service ssh :
> systemctl restart sshd
On modifie le proprietaire du dossier user1 :
> sudo chown root:root /sft/user1
on modifie les droits d’accés au dossier user1 :
> chmod 755 /sftp/user1
(On va maintenant créer un dossier data dans lequel user1 pourra stocker ses fichiers :
> sudo mkdir /sftp/user1/data
on modifie les droits d’acces au dossier :
> chown user1:sftpusers /sftp/user1/data
On peut maintenant se connecter avec la commande sftp
> sftp user1@ipduserveur
il suffit de se placer dans le dossier data et on peu commencer a gérer les fichiers.
Merci a Adrien de Linuxtricks pour sa video explicative :
Configurer un serveur SFTP