Ubuntu est une pla­te­forme sûre et fiable si vous cherchez à con­fi­gu­rer un serveur SFTP. La dis­tri­bu­tion Linux propose des outils et des paquets intégrés à utiliser avec SFTP. Suivez nos ins­truc­tions étape par étape pour installer et con­fi­gu­rer un Ubuntu SFTP Server et trans­fé­rer vos données de façon chiffrée.

Serveur SFTP sous Ubuntu : con­fi­gu­ra­tion système requise

Si vous avez déjà comparé FTP et SFTP, vous savez que le protocole SFTP constitue une bien meilleure solution. Basé sur FTP, le protocole SFTP utilise des procédés cryp­to­gra­phiques pour chiffrer vos données. Il est donc né­ces­saire d’installer des com­po­sants sup­plé­men­taires, comme Secure Shell (SSH). Pour installer un serveur SFTP sous l’actuelle version 22.04 d’Ubuntu, il convient de respecter la con­fi­gu­ra­tion système suivante :

  • Pro­ces­seur (CPU) : 2 GHz (double cœur)
  • Mémoire vive (RAM) : 4 Go
  • Espace en disque dur : variable en fonction du volume des données
  • Système d’ex­ploi­ta­tion : Ubuntu (uti­li­sa­teur avec droits « root »)
  • Suite lo­gi­cielle : OpenSSH
  • Connexion Internet : suf­fi­sante pour té­lé­char­ger des paquets et se connecter au serveur SFTP
Conseil

Avec un serveur FTP sécurisé hébergé par IONOS, profitez de l’hé­ber­ge­ment sécurisé de vos fichiers, notamment d’une sau­ve­garde régulière et d’un service d’as­sis­tance dis­po­nible 24 h/24 et 7 j/7.

Ins­truc­tions étape par étape : ins­tal­la­tion d’un serveur SFTP sous Ubuntu

Pour con­fi­gu­rer un serveur FTP prenant en charge SFTP, commencez par vérifier si OpenSSH est bien installé. Les paquets sont déjà dis­po­nibles par défaut dans Ubuntu. Si tel n’est pas le cas, récupérez lesdits paquets à partir du ré­fé­ren­tiel officiel.

Ouvrez le terminal de votre système Ubuntu et exécutez les commandes indiquées ci-dessous.

Étape 1 : vérifier les paquets OpenSSH

Cette commande permet de lister tous les paquets installés en ap­pli­quant le filtre « ssh » :

$ dpkg -l | grep ssh
bash

Dans notre exemple, cela donne le résultat suivant :

Image: Terminal : paquets OpenSSH installés
Terminal : paquets OpenSSH installés

Si les ca­rac­tères « ii » s’affichent, alors les paquets sont bien installés.

Étape 2 : installer SSH

OpenSSH n’est pas installé ? Vous pouvez y remédier en utilisant le ges­tion­naire de paquets APT :

$ sudo apt install ssh
bash

Étape 3 : modifier la con­fi­gu­ra­tion du SSHD

Après l’ins­tal­la­tion, il convient d’adapter le fichier de con­fi­gu­ra­tion du démon SSH. Pour y accéder, vous pouvez par exemple utiliser l’éditeur Nano :

$ sudo nano /etc/ssh/sshd_config
bash

Saisissez alors les lignes de code suivantes :

Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
bash

Cela permet aux uti­li­sa­teurs du groupe SFTP d’accéder à leur ré­per­toire personnel par SFTP.

Serveurs dédiés
Per­for­mance et in­no­va­tion
  • Pro­ces­seurs dernière gé­né­ra­tion
  • Hardware dédié haute per­for­mance
  • Data centers certifiés ISO

Étape 4 : re­dé­mar­rer le service SSH

Une fois le fichier de con­fi­gu­ra­tion modifié, vous devez re­dé­mar­rer le service SSH :

$ sudo systemctl restart sshd
bash

Étape 5 : créer un uti­li­sa­teur et un groupe SFTP

La prochaine étape consiste à créer un nouveau groupe « sftpgroup », ainsi qu’un nouvel uti­li­sa­teur « sftpuser ». Pour des raisons de sécurité, celui-ci doit uni­que­ment pouvoir accéder à votre serveur SFTP sous Ubuntu, et pas au service SSH.

$ sudo groupadd sftpgroup
bash

Le nouvel uti­li­sa­teur est ajouté au groupe SFTP avec l’option « -G ». L’option « -d » permet quant à elle de définir le ré­per­toire d’accueil, tandis que l’option « -s » encadre l’accès au shell.

$ sudo useradd -G sftpgroup -d /srv/sftpuser -s /sbin/nologin sftpuser
bash

Étape 6 : créer un mot de passe pour l’uti­li­sa­teur SFTP

Choi­sis­sez un mot de passe sécurisé pour l’uti­li­sa­teur SFTP en utilisant la commande « passwd » :

$ passwd sftpuser
bash

Étape 7 : con­fi­gu­rer le ré­per­toire « chroot »

La création d’un ré­per­toire « chroot » permet de mettre en place un sandbox pour les processus en cours d’exécution. Commencez par créer un nouveau dossier :

$ mkdir -p /srv/sftpuser
bash

La propriété est ensuite attribuée à l’uti­li­sa­teur « root » à l’aide de « chown » :

$ sudo chown root /srv/sftpuser
bash

Vous devez alors attribuer des droits de lecture et d’exécution au groupe :

$ sudo chmod g+rx /srv/sftpuser
bash

Créez ensuite un sous-ré­per­toire et dé­fi­nis­sez « sftpuser » en tant que pro­prié­taire :

$ mkdir -p /srv/sftpuser/data
$ chown sftpuser:sftpuser /srv/sftpuser/data
bash

Ainsi, l’uti­li­sa­teur SFTP peut té­lé­char­ger des fichiers dans le sous-ré­per­toire « data », avec des droits qui restent limités dans le ré­per­toire « sftpuser ». Pour des raisons de sécurité, il dispose de droits en lecture, mais pas en écriture.

Étape 8 : se connecter au serveur SFTP avec Ubuntu

La connexion au serveur SFTP peut être établie en passant par la ligne de commande SFTP ou par un client FTP avec GUI. Entrez la commande « sftp » dans le terminal, suivie du nom d’uti­li­sa­teur et du nom d’hôte ou de l’adresse IP du serveur SFTP.

$ sftp sftpuser@SERVER-IP
bash

En cas d’uti­li­sa­tion d’un port défini par l’uti­li­sa­teur, celui-ci peut être spécifié comme suit :

$ sftp -P PORT ftpuser@SERVER-IP
bash

Vous devrez alors saisir le mot de passe de l’uti­li­sa­teur SFTP.

Étape 9 : charger des fichiers sur le serveur SFTP

Pour charger vos fichiers sur le serveur SFTP, il convient d’utiliser la commande « put ».

Essayez de trans­fé­rer un fichier dans le ré­per­toire « / » :

put /path/to/file/on/local /
bash

Cette commande ne devrait pas fonc­tion­ner, car elle concerne le ré­per­toire « chroot » pour lequel l’uti­li­sa­teur SFTP ne dispose pas de droits en écriture.

À présent, réessayez avec le ré­per­toire « data » :

put /path/to/file1/on/local1 /data/
bash

Étape 10 : afficher des fichiers sur le serveur SFTP sous Ubuntu

Listez les fichiers dans la ligne de commande SFTP avec la commande « ls » :

ls /data/
bash

Les fichiers qui se trouvent sur le serveur SFTP s’affichent ici :

Image: Terminal : liste des fichiers sur le serveur SFTP
Terminal : liste des fichiers sur le serveur SFTP
Conseil

Découvrez également comment con­fi­gu­rer un serveur SFTP Windows grâce à notre guide.

Aller au menu principal