Installer un Ubuntu SFTP Server

Ubuntu est une plateforme sûre et fiable si vous cherchez à configurer un serveur SFTP. La distribution Linux propose des outils et des paquets intégrés à utiliser avec SFTP. Suivez nos instructions étape par étape pour installer et configurer un Ubuntu SFTP Server et transférer vos données de façon chiffrée.

Serveur SFTP sous Ubuntu : configuration 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 cryptographiques pour chiffrer vos données. Il est donc nécessaire d’installer des composants supplémentaires, comme Secure Shell (SSH). Pour installer un serveur SFTP sous l’actuelle version 22.04 d’Ubuntu, il convient de respecter la configuration système suivante :

  • Processeur (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’exploitation : Ubuntu (utilisateur avec droits « root »)
  • Suite logicielle : OpenSSH
  • Connexion Internet : suffisante pour télécharger des paquets et se connecter au serveur SFTP
Conseil

Avec un serveur FTP sécurisé hébergé par IONOS, profitez de l’hébergement sécurisé de vos fichiers, notamment d’une sauvegarde régulière et d’un service d’assistance disponible 24 h/24 et 7 j/7.

Instructions étape par étape : installation d’un serveur SFTP sous Ubuntu

Pour configurer un serveur FTP prenant en charge SFTP, commencez par vérifier si OpenSSH est bien installé. Les paquets sont déjà disponibles par défaut dans Ubuntu. Si tel n’est pas le cas, récupérez lesdits paquets à partir du référentiel 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 appliquant le filtre « ssh » :

$ dpkg -l | grep ssh
bash

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

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

Si les caractè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 gestionnaire de paquets APT :

$ sudo apt install ssh
bash

Étape 3 : modifier la configuration du SSHD

Après l’installation, il convient d’adapter le fichier de configuration 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 utilisateurs du groupe SFTP d’accéder à leur répertoire personnel par SFTP.

Serveurs dédiés avec IONOS

Au croisement du hardware et du Cloud : des serveurs dédiés avec intégration Cloud et facturation à la minute + conseiller personnel ! 

Assistance 24/7
Trafic illimité
Certificat SSL

Étape 4 : redémarrer le service SSH

Une fois le fichier de configuration modifié, vous devez redémarrer le service SSH :

$ sudo systemctl restart sshd
bash

Étape 5 : créer un utilisateur et un groupe SFTP

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

$ sudo groupadd sftpgroup
bash

Le nouvel utilisateur est ajouté au groupe SFTP avec l’option « -G ». L’option « -d » permet quant à elle de définir le répertoire 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’utilisateur SFTP

Choisissez un mot de passe sécurisé pour l’utilisateur SFTP en utilisant la commande « passwd » :

$ passwd sftpuser
bash

Étape 7 : configurer le répertoire « chroot »

La création d’un répertoire « 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’utilisateur « 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épertoire et définissez « sftpuser » en tant que propriétaire :

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

Ainsi, l’utilisateur SFTP peut télécharger des fichiers dans le sous-répertoire « data », avec des droits qui restent limités dans le répertoire « 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’utilisateur et du nom d’hôte ou de l’adresse IP du serveur SFTP.

$ sftp sftpuser@SERVER-IP
bash

En cas d’utilisation d’un port défini par l’utilisateur, 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’utilisateur 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 transférer un fichier dans le répertoire « / » :

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

Cette commande ne devrait pas fonctionner, car elle concerne le répertoire « chroot » pour lequel l’utilisateur SFTP ne dispose pas de droits en écriture.

À présent, réessayez avec le répertoire « 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 :

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

Découvrez également comment configurer un serveur SFTP Windows grâce à notre guide.