SFTP et SCP : transfert sécurisé de fichiers
Comparez SFTP et SCP à FTP, qui n’est pas sécurisé, et comprenez les protections cryptographiques qu’ils fournissent.
SFTP et SCP : transfert sécurisé de fichiers est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
SFTP est un sous-système SSH, pas FTP
Malgré son nom, SFTP (protocole de transfert de fichiers SSH) n'a rien à voir avec FTP. Il s'agit d'un protocole binaire conçu pour fonctionner comme un sous-système SSH-2, c'est-à-dire qu'il s'exécute sur une connexion SSH authentifiée et chiffrée déjà établie. Le client SSH invoque le sous-système SFTP sur le serveur avec la commande ssh user@host -s sftp. Toutes les opérations SFTP héritent des garanties de sécurité du transport SSH sous-jacent.
Fonctionnalités de SFTP
SFTP fournit un ensemble complet d'opérations sur les fichiers via le canal chiffré : répertorier le contenu des répertoires, téléverser des fichiers, télécharger des fichiers, supprimer et renommer des fichiers, créer et supprimer des répertoires, lire et définir les permissions et les horodatages des fichiers, et reprendre les transferts interrompus. Ces fonctionnalités font de SFTP une interface complète de système de fichiers distant, et non un simple outil de transfert de fichiers.
SCP : copie simplifiée de fichiers sur SSH
SCP (protocole de copie sécurisée) est un protocole plus ancien et plus simple pour transférer des fichiers sur SSH. La commande scp file.txt user@host:/path copie un fichier de manière sécurisée. SCP est plus simple à utiliser que SFTP pour des transferts ponctuels, mais ne prend en charge qu'un sous-ensemble d'opérations : copier du local vers le distant, du distant vers le local ou du distant vers le distant. Il ne possède pas de mode interactif et offre une prise en charge limitée de la reprise des transferts interrompus.
Vulnérabilités du protocole SCP
Le protocole SCP d'origine comportait une vulnérabilité importante : un serveur malveillant pouvait envoyer des fichiers arbitraires au client, quelle que soit la demande de celui-ci. Un attaquant contrôlant le serveur pouvait écraser des fichiers en dehors du répertoire de destination prévu. OpenSSH a rendu obsolète le protocole SCP historique au profit de scp fondé sur SFTP dans OpenSSH 9.0 (2022). Les commandes scp modernes utilisent SFTP sous-jacent, ce qui élimine cette catégorie d'attaque tout en conservant la syntaxe de commande familière.
FTP ou FTPS ou SFTP
Trois options de transfert sécurisé de fichiers sont souvent confondues. FTP (port 21) n'est pas chiffré et ne doit pas être utilisé. FTPS (FTP sur SSL) ajoute TLS à FTP sur le port 990 (implicite) ou le port 21 (explicite avec AUTH TLS), ce qui nécessite l'infrastructure FTP ainsi que la gestion des certificats. SFTP est un protocole entièrement distinct fonctionnant sur SSH (port 22), qui réutilise l'authentification et la gestion des clés SSH existantes. SFTP est généralement plus simple à configurer et à maintenir que FTPS.
rsync sur SSH pour une synchronisation efficace
rsync est un outil de synchronisation de fichiers qui ne transfère que les parties modifiées des fichiers, ce qui le rend bien plus efficace que SCP pour les sauvegardes incrémentielles. L'exécution de rsync avec l'option -e ssh achemine toutes les données via un tunnel SSH. La commande rsync -avz -e ssh user@host:/remote/ /local/ synchronise un répertoire distant avec le répertoire local, en ne transférant que les différences. rsync via SSH est l'approche standard pour les sauvegardes de serveurs et les processus de déploiement.
Gérer les transferts de fichiers volumineux
SFTP prend en charge les transferts pouvant être repris : si une connexion est interrompue pendant l'envoi d'un fichier volumineux, le transfert peut reprendre à partir du dernier octet confirmé au lieu de recommencer depuis zéro. Le client sftp d'OpenSSH prend en charge la commande reput pour reprendre les envois et reget pour reprendre les téléchargements. Pour les transferts très volumineux, concernant des fichiers de plusieurs gigaoctets, des outils comme lftp offrent une gestion plus robuste des transferts, avec nouvelle tentative automatique et limitation de la bande passante.
Environnements chrootés SFTP pour un accès restreint
Le serveur OpenSSH peut limiter les utilisateurs SFTP à une arborescence de répertoires spécifique à l'aide d'un environnement chrooté. L'ajout de la directive Match User avec ChrootDirectory et ForceCommand internal-sftp à la configuration SSH crée un environnement SFTP isolé. L'utilisateur peut envoyer et télécharger des fichiers dans le répertoire qui lui est attribué, mais ne peut pas accéder au reste du système de fichiers ni exécuter de commandes de l'interpréteur de commandes. Cette configuration est largement utilisée pour la gestion des fichiers d'hébergement web et les portails de dépôt de fichiers pour les clients.
Configurer un serveur SFTP
Activer SFTP sur un serveur OpenSSH nécessite d'ajouter Subsystem sftp /usr/lib/openssh/sftp-server à sshd_config. Le binaire sftp-server gère toutes les opérations du protocole SFTP. Dans les configurations chrootées, ChrootDirectory doit appartenir à root et ne doit pas être accessible en écriture par un autre utilisateur, ce qui constitue une source courante d'erreurs de configuration. La vérification de la configuration avec sshd -t contrôle la syntaxe avant le rechargement du service.
SFTP pour les processus de sauvegarde automatisés
SFTP s'intègre bien aux chaînes de sauvegarde automatisées. Un serveur de sauvegarde utilise l'authentification par clé publique pour se connecter sans mot de passe, ce qui permet des transferts planifiés par cron sans intervention humaine. L'utilisateur de sauvegarde est limité par un environnement chrooté au répertoire de dépôt, ce qui réduit les dommages possibles si le serveur de sauvegarde est compromis. La surveillance des journaux des échecs de connexion SFTP et des erreurs de transfert fournit une alerte précoce en cas de problème de sauvegarde, avant que celui-ci n'affecte la capacité de restauration.
Outils clients SFTP
Au-delà du client sftp en ligne de commande, des outils graphiques tels que FileZilla, Cyberduck et WinSCP prennent en charge SFTP avec des interfaces de glisser-déposer, la gestion des signets et des vues côte à côte des répertoires. Ces outils sont populaires auprès des développeurs et des administrateurs qui préfèrent les flux de travail avec interface graphique. Ils utilisent tous le même protocole SFTP sous-jacent et l'authentification SSH, notamment la prise en charge des fichiers de clés SSH et de l'agent SSH du système.
SFTP ou SCP
Quelle était la principale vulnérabilité de sécurité du protocole SCP historique qui a conduit OpenSSH à le remplacer par une implémentation fondée sur SFTP ?
SFTP et SCP : points essentiels
SFTP est un sous-système SSH, sans lien avec FTP. Il fournit des opérations complètes sur le système de fichiers distant via SSH chiffré. SCP est plus simple, mais le protocole historique présentait une vulnérabilité de traversée de chemins côté serveur, corrigée dans OpenSSH 9.0 par le remplacement de son implémentation sous-jacente par SFTP. FTPS ajoute TLS à FTP, tandis que SFTP repose entièrement sur SSH. rsync via SSH fournit une synchronisation incrémentielle efficace. Les environnements chroot limitent les utilisateurs SFTP aux répertoires désignés.
Apprends Cryptology Academy avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 67
- Leçons
- 261
Questions Fréquemment Posées
La leçon « SFTP et SCP : transfert sécurisé de fichiers » est-elle gratuite ?
Oui — le texte complet de « SFTP et SCP : transfert sécurisé de fichiers » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « SFTP et SCP : transfert sécurisé de fichiers » ?
Comparez SFTP et SCP à FTP, qui n’est pas sécurisé, et comprenez les protections cryptographiques qu’ils fournissent. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « SFTP et SCP : transfert sécurisé de fichiers » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Qu’est-ce qui fait un protocole sécurisé
- SSH : sécuriser l’accès distant
- SFTP et SCP : transfert sécurisé de fichiers
- DNSSEC : authentifier les réponses DNS