Créer un compte FTP via SSH

Comment configurer un utilisateur FTP dédié sur votre serveur sans panneau de contrôle.

Par défaut, votre serveur ne dispose que du superutilisateur root — et se connecter en FTP en tant que root est une mauvaise idée. Le FTP transmet les identifiants en clair, ce qui fait de l'exposition de votre compte root un risque de sécurité sérieux.

Si votre serveur ne dispose pas de panneau de contrôle (cPanel, BeAdmin, aaPanel, CloudPanel, etc.), vous pouvez créer un utilisateur FTP dédié manuellement via SSH. Voici comment procéder.

1. Installer ProFTPD (si ce n'est pas déjà fait)

Ubuntu / Debian :

sudo apt update
sudo apt install proftpd-basic -y

CentOS / Rocky / AlmaLinux :

sudo yum install proftpd -y

Une fois installé, démarrez le service et activez son lancement au démarrage :

sudo systemctl start proftpd
sudo systemctl enable proftpd

2. Confiner les utilisateurs dans leur répertoire personnel (recommandé)

Cette étape empêche les utilisateurs FTP de naviguer en dehors de leur dossier désigné — indispensable dans tout environnement multi-utilisateurs.

Ouvrez le fichier de configuration de ProFTPD :

  • Ubuntu/Debian : sudo nano /etc/proftpd/proftpd.conf
  • CentOS/Rocky : sudo nano /etc/proftpd.conf

Ajoutez cette ligne à la fin du fichier :

DefaultRoot ~

Enregistrez, puis redémarrez ProFTPD :

sudo systemctl restart proftpd

Nos produits et services

Hébergement webFonctionne sur des disques NVMe ultra-rapides. Convient aux sites de toute complexité.
Commande
VPSInfrastructure cloud flexible avec accès root complet.
Commande
Serveurs dédiésServeurs physiques pour une performance maximale.
Commande

3. Créer l'utilisateur FTP

Un utilisateur FTP n'a pas besoin d'un accès shell — lui en accorder serait une faille de sécurité. Nous lui assignons /bin/false comme shell pour verrouiller l'accès.

  1. Enregistrez /bin/false comme shell valide (si ce n'est pas déjà fait) :
echo '/bin/false' | sudo tee -a /etc/shells
  1. Créez l'utilisateur :
sudo useradd ftpuser -d /home/ftpuser -m -s /bin/false
  1. Définissez un mot de passe :
sudo passwd ftpuser

Vous pouvez remplacer ftpuser par n'importe quel nom d'utilisateur. Le répertoire personnel /home/ftpuser sera créé automatiquement.

4. Restreindre les permissions

Pour empêcher l'utilisateur de modifier quoi que ce soit en dehors de son dossier d'upload, resserrez les permissions comme suit :

sudo chmod 555 /home/ftpuser
sudo mkdir /home/ftpuser/upload
sudo chown ftpuser:ftpuser /home/ftpuser/upload

L'utilisateur ne pourra désormais déposer des fichiers que dans le sous-dossier upload — rien d'autre n'est accessible en écriture.

Quelques points à garder à l'esprit

  • Dans la mesure du possible, privilégiez SFTP plutôt que FTP — il chiffre la connexion, identifiants compris.
  • N'utilisez jamais root pour les connexions FTP, quelles que soient les circonstances.
  • Après avoir créé l'utilisateur, testez immédiatement la connexion avec un client FTP comme FileZilla ou WinSCP.
  • Si vous devez gérer plusieurs utilisateurs FTP, un panneau de contrôle (aaPanel, BeAdmin, CloudPanel, cPanel, etc.) vous fera gagner beaucoup de temps.

Aide

Une question ou besoin d'un coup de main ? Écrivez-nous via le système de tickets — nous sommes toujours là pour vous aider !

Besoin d’aide?Nos ingénieurs vous aideront gratuitement pour n’importe quelle question en quelques minutesNous contacter