# Installer un Ubuntu SFTP Server

[Ubuntu](https://www.ionos.fr/digitalguide/serveur/know-how/ubuntu-le-systeme-linux-pour-tous/) 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](https://www.ionos.fr/digitalguide/serveur/know-how/sftp-ssh-file-transfer-protocol/). 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](https://www.ionos.fr/digitalguide/serveur/know-how/ftp-vs-sftp/), vous savez que le protocole SFTP constitue une bien meilleure solution. Basé sur [FTP](https://www.ionos.fr/digitalguide/serveur/know-how/file-transfer-protocol/), 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)](https://www.ionos.fr/digitalguide/serveur/outils/protocole-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é](https://www.ionos.fr/hebergement/serveur-ftp "Héberger un serveur FTP sécurisé avec IONOS") 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 » :

```bash
$ dpkg -l | grep ssh
```

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

[![Image: Terminal : paquets OpenSSH installés](https://www.ionos.fr/digitalguide/fileadmin/_processed_/3/1/csm_ubuntu-sftp-server-openssh-packets_8a708f0b96.webp "Terminal : paquets OpenSSH installés")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-sftp-server-openssh-packets.png) 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** :

```bash
$ sudo apt install ssh
```

### É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 :

```bash
$ sudo nano /etc/ssh/sshd_config
```

Saisissez alors les lignes de code suivantes :

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

Cela permet aux utilisateurs du groupe SFTP d’accéder à leur répertoire personnel par SFTP.

### Étape 4 : redémarrer le service SSH

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

```bash
$ sudo systemctl restart sshd
```

### É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.

```bash
$ sudo groupadd sftpgroup
```

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.

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

### É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 » :

```bash
$ passwd sftpuser
```

### É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 :

```bash
$ mkdir -p /srv/sftpuser
```

La propriété est ensuite attribuée à l’utilisateur « root » à l’aide de « chown » :

```bash
$ sudo chown root /srv/sftpuser
```

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

```bash
$ sudo chmod g+rx /srv/sftpuser
```

Créez ensuite un sous-répertoire et définissez « sftpuser » en tant que propriétaire :

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

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.

```bash
$ sftp sftpuser@SERVER-IP
```

En cas d’utilisation d’un port défini par l’utilisateur, celui-ci peut être spécifié comme suit :

```bash
$ sftp -P PORT ftpuser@SERVER-IP
```

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 « / » :

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

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 » :

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

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

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

```bash
ls /data/
```

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

[![Image: Terminal : liste des fichiers sur le serveur SFTP](https://www.ionos.fr/digitalguide/fileadmin/_processed_/a/8/csm_ubuntu-sftp-server-file-list_c2cbba90f3.webp "Terminal : liste des fichiers sur le serveur SFTP")](https://www.ionos.fr/digitalguide/fileadmin/DigitalGuide/Screenshots_2023/ubuntu-sftp-server-file-list.png) Terminal : liste des fichiers sur le serveur SFTP  Conseil Découvrez également comment [configurer un serveur SFTP Windows](https://www.ionos.fr/digitalguide/serveur/configuration/configurer-un-windows-sftp-server/) grâce à notre guide.


This is a markdown version of: [https://www.ionos.fr/digitalguide/serveur/configuration/configurer-un-ubuntu-sftp-server/](https://www.ionos.fr/digitalguide/serveur/configuration/configurer-un-ubuntu-sftp-server/) for AI/LLM consumption.