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
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
bashDans notre exemple, cela donne le résultat suivant :
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
bashSaisissez alors les lignes de code suivantes :
Match Group sftpgroup
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
bashCela permet aux utilisateurs du groupe SFTP d’accéder à leur répertoire personnel par SFTP.
Profitez de votre propre serveur, avec hardware dédié, intégration Cloud, facturation à la minute et processeur Intel® Xeon® ou AMD.
É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
bashLe 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
bashLa propriété est ensuite attribuée à l’utilisateur « root » à l’aide de « chown » :
$ sudo chown root /srv/sftpuser
bashVous devez alors attribuer des droits de lecture et d’exécution au groupe :
$ sudo chmod g+rx /srv/sftpuser
bashCré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
bashAinsi, 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
bashEn 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
bashVous 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 /
bashCette 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/
bashLes fichiers qui se trouvent sur le serveur SFTP s’affichent ici :
Découvrez également comment configurer un serveur SFTP Windows grâce à notre guide.