SFTP (SSH File Transfer Protocol)

Définition

Le SFTP (SSH File Transfer Protocol, aussi appelé Secure File Transfer Protocol) est un protocole réseau qui fournit un accès aux fichiers, le transfert et la gestion sur tout flux de données fiable. Il fonctionne sur SSH (Secure Shell), fournissant un chiffrement pour les commandes et les données.

Le SFTP n’est PAS du FTP sur SSL/TLS (c’est le FTPS). Le SFTP utilise une seule connexion SSH pour le contrôle et les données, tandis que le FTPS utilise des canaux de contrôle et de données séparés.

Concepts clés

  • Connexion unique : Le contrôle et les données partagent la même connexion SSH (port 22 par défaut)
  • Authentification : Clé SSH ou mot de passe
  • Chiffrement : Toutes les données chiffrées via SSH (AES, ChaCha20, etc.)
  • Transmissions repriseables : Peut reprendre les transferts de fichiers interrompus
  • Opérations de répertoire : Lister, créer, supprimer, renommer des répertoires
  • Opérations de fichiers : Téléverser, télécharger, ajouter, tronquer, permissions

SFTP vs FTP vs FTPS

|| Fonctionnalité | SFTP | FTP | FTPS | ||—————-|——|—–|——| || Chiffrement | Oui (SSH) | Non | Oui (SSL/TLS) | || Port | 22 (unique) | 20, 21 (multiples) | 989/990 ou dynamique | || Pare-feu | Facile (port unique) | Difficile (mode passif) | Modéré | || Protocole | Basé sur SSH | Basé sur FTP | FTP sur TLS | || Authentification | Clés SSH/mot de passe | Nom d’utilisateur/mot de passe | Nom d’utilisateur/mot de passe/certificat | || Cas d’utilisation | Transferts sécurisés | Systèmes legacy | FTP entreprise |

Commandes SFTP courantes

sftp user@host                    # Connecter
sftp> put file.txt               # Téléverser
sftp> get file.txt               # Télécharger
sftp> ls                         # Lister le répertoire distant
sftp> mkdir dirname              # Créer un répertoire
sftp> rm file.txt                # Supprimer un fichier
sftp> chmod 644 file.txt         # Changer les permissions
sftp> exit                       # Déconnecter

Serveurs SFTP

|| Serveur | Type | Notes | ||———|——|——-| || OpenSSH sftp-server | Intégré | Livré avec OpenSSH | || vsftpd | FTP/SFTP | Serveur FTP populaire avec support SFTP | || FileZilla Server | FTP/SFTP | Serveur basé sur GUI | || WinSCP | Client | Client SFTP/SCP Windows |

Termes associés

  • Ssh — protocole de transfert de fichiers plus ancien, plus simple que SFTP
  • FTP — prédécesseur non chiffré
  • FTPS — FTP sur SSL/TLS (différent de SFTP)
  • rsync — outil de synchronisation de fichiers alternatif avec support SSH

Références