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
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.
- Enregistrez
/bin/falsecomme shell valide (si ce n'est pas déjà fait) :
echo '/bin/false' | sudo tee -a /etc/shells
- Créez l'utilisateur :
sudo useradd ftpuser -d /home/ftpuser -m -s /bin/false
- Définissez un mot de passe :
sudo passwd ftpuser
Vous pouvez remplacer
ftpuserpar n'importe quel nom d'utilisateur. Le répertoire personnel/home/ftpusersera 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 !