1. SFTP vs FTP : quelle différence ?
Beaucoup de gens connaissent le FTP (File Transfer Protocol), le protocole historique de transfert de fichiers. Le problème : FTP envoie vos identifiants et vos fichiers en clair sur le réseau. N'importe qui qui intercepte le trafic peut lire vos mots de passe et vos données.
SFTP (SSH File Transfer Protocol) résout ce problème en passant par le canal SSH, qui est chiffré de bout en bout. C'est une technologie complètement différente de FTP malgré la ressemblance du nom.
| FTP | SFTP | |
|---|---|---|
| Chiffrement | ❌ Aucun, données en clair | ✅ Chiffrement AES via SSH |
| Port | 21 | 22 (même que SSH) |
| Authentification | Mot de passe en clair | Clé SSH ou mot de passe chiffré |
| Config serveur | Serveur FTP à installer | Rien - natif si SSH est actif |
| Sécurité | ❌ Déconseillé | ✅ Recommandé |
Bonne nouvelle : Si SSH fonctionne sur votre VPS (ce qui est le cas si vous avez suivi le guide de configuration initiale), SFTP fonctionne automatiquement - aucune installation ou configuration supplémentaire n'est nécessaire côté serveur.
2. Méthode graphique : FileZilla
FileZilla est le client FTP/SFTP gratuit le plus populaire. Il propose une interface visuelle avec deux panneaux côte à côte : vos fichiers locaux à gauche, les fichiers du VPS à droite. Vous transférez par glisser-déposer.
Télécharger FileZilla
Rendez-vous sur filezilla-project.org et téléchargez FileZilla Client (pas FileZilla Server) pour votre système d'exploitation. Installez-le normalement.
Ouvrir le Gestionnaire de sites
Lancez FileZilla. Allez dans Fichier → Gestionnaire de sites (ou appuyez sur Ctrl+S). Cliquez sur Nouveau site et donnez-lui un nom (ex: "Mon VPS CroustyCloud").
Configurer la connexion SFTP
Remplissez les champs suivants dans le panneau de droite :
Protocole : SFTP – SSH File Transfer Protocol
Hôte : VOTRE-IP-VPS
Port : 2222 (ou votre port SSH personnalisé)
Type : Demander le mot de passe
Identifiant : votre-utilisateurVous utilisez des clés SSH ? Changez "Type" en Fichier de clé et indiquez le chemin vers votre clé privée (ex: C:\Users\Vous\.ssh\croustycloud_ed25519 sous Windows ou ~/.ssh/croustycloud_ed25519 sous macOS/Linux).
Se connecter et transférer
Cliquez sur Connexion. FileZilla vous demande éventuellement de confirmer l'empreinte du serveur - cliquez Valider. Vous voyez maintenant vos fichiers locaux à gauche et les fichiers de votre VPS à droite.
Pour transférer des fichiers :
- Upload (local → VPS) : faites glisser depuis le panneau gauche vers le droit
- Download (VPS → local) : faites glisser depuis le panneau droit vers le gauche
- Clic droit sur un fichier pour plus d'options (renommer, supprimer, modifier les permissions...)
3. Méthode ligne de commande : sftp
Si vous préférez la ligne de commande (ou si vous êtes sur Linux/macOS), sftp est disponible nativement.
# Se connecter
sftp -P 2222 votre-user@VOTRE-IP-VPS
# Vous êtes maintenant dans un shell SFTP interactif
sftp>Les commandes disponibles dans le shell SFTP :
sftp> ls # Lister les fichiers côté serveur
sftp> lls # Lister les fichiers côté local ("l" = local)
sftp> pwd # Afficher le dossier courant sur le serveur
sftp> lpwd # Afficher le dossier courant local
sftp> cd /var/www/html # Naviguer sur le serveur
sftp> lcd ~/Documents # Naviguer localement
sftp> put mon-fichier.html # Envoyer un fichier local vers le serveur
sftp> put -r mon-dossier/ # Envoyer un dossier entier
sftp> get config.json # Télécharger un fichier depuis le serveur
sftp> mkdir backup # Créer un dossier sur le serveur
sftp> rm vieux-fichier.txt # Supprimer un fichier sur le serveur
sftp> bye # Quitter4. Transfert rapide avec SCP
Pour un transfert ponctuel sans session interactive, scp est plus direct. La syntaxe ressemble à cp mais avec une adresse distante.
# Envoyer un fichier vers le serveur
scp -P 2222 mon-fichier.html user@IP:/var/www/html/
# Envoyer un dossier entier (-r = récursif)
scp -P 2222 -r ./mon-site/ user@IP:/var/www/
# Télécharger depuis le serveur
scp -P 2222 user@IP:/etc/nginx/nginx.conf ./sauvegardes/
# Transférer entre deux serveurs distants
scp -P 2222 user@IP1:/var/www/fichier.html user@IP2:/var/www/5. Problème courant : les permissions
Après avoir uploadé des fichiers, ils peuvent ne pas être lisibles par le serveur web. C'est un problème de permissions - Linux contrôle qui peut lire, écrire ou exécuter chaque fichier.
# Rendre un fichier lisible par tous (lecture) et éditable par le propriétaire
chmod 644 /var/www/html/index.html
# Rendre un dossier accessible (traversable) par tous
chmod 755 /var/www/html/
# Changer le propriétaire d'un fichier vers www-data (utilisateur Nginx/Apache)
chown www-data:www-data /var/www/html/ -RLes chiffres 644 et 755 représentent les permissions en notation octale :
6= lecture + écriture (propriétaire)4= lecture seulement (groupe et autres)7= lecture + écriture + exécution (pour les dossiers, l'exécution = pouvoir entrer dedans)
SFTP, c'est tout ! Aucune configuration supplémentaire n'est nécessaire sur le serveur. Pour automatiser des synchronisations régulières (sauvegardes, déploiements), regardez du côté de rsync qui est bien plus efficace pour synchroniser des dossiers entiers.