Aller au contenu

SFTP : SSH File Transfer Protocol

Réseau

SFTP : SSH File Transfer Protocol, protocole de transfert et de gestion de fichiers qui fonctionne à l'intérieur d'une session SSH (Secure Shell). « Le protocole qui n'a de FTP que le nom, ce qui est précisément sa qualité », par analogie avec le colis livré en fourgon blindé, là où FTP expédiait tout en carte postale.

Ce qu'il n'est pas : SFTP n'est pas FTP passé dans SSH, ni FTPS, qui est FTP protégé par TLS. C'est un protocole distinct, sous-système de SSH-2, qui partage la connexion, le port 22 et l'authentification de SSH. Le sigle a aussi désigné un Simple File Transfer Protocol (RFC 913, 1984), oublié depuis longtemps.

Norme : Il n'a jamais été publié comme RFC : les travaux de l'IETF se sont arrêtés au stade de brouillons. La version 3 du protocole, celle qu'implémente OpenSSH, est de fait la plus répandue.

Opérations : Outre lire et écrire des fichiers, il liste les répertoires, renomme, supprime et modifie les droits : c'est un véritable accès au système de fichiers distant. Depuis OpenSSH 9.0 (2022), la commande scp elle-même l'utilise par défaut.

Côté réseau : Une seule connexion TCP, un seul port : rien à voir avec les connexions de données de FTP et leurs modes actif et passif, qui font le désespoir des pare-feu.

Ce qui arrive si on s'en passe

Sans SFTP ni autre protocole chiffré, les transferts de fichiers passent par FTP : identifiants et contenu circulent en clair, et quiconque se trouve sur le chemin peut les lire ou les modifier. Avec SFTP, la question devient celle des accès : un compte SFTP est un compte SSH, qui peut ouvrir un shell et rebondir sur le réseau si rien ne l'en empêche. Restreindre ces comptes au seul sous-système SFTP dans un répertoire confiné (chroot), privilégier les clés aux mots de passe, vérifier l'empreinte du serveur à la première connexion et renouveler les clés des échanges automatisés évitent de transformer un dépôt de fichiers en porte d'entrée.

Explication de la marmotte

SFTP sert à envoyer et récupérer des fichiers sur un serveur à distance, de façon sécurisée. Tout passe par une connexion chiffrée, la même que celle qu'on utilise pour administrer les serveurs à distance. Le mot de passe et les fichiers ne peuvent donc pas être lus en chemin. Malgré son nom, il n'a rien à voir avec l'ancien FTP, qui envoyait tout en clair.

Où ce terme est utilisé

← Tout le glossaire