SFTP
SFTP (SSH File Transfer Protocol) transfère des fichiers au-dessus d’une connexion SSH — malgré son nom proche, il n’a aucun rapport technique avec FTP : ce n’est pas FTP encapsulé dans du chiffrement, mais un protocole distinct, conçu autour du canal SSH dès le départ.
Pourquoi c’est plus simple à opérer que FTP
Section intitulée « Pourquoi c’est plus simple à opérer que FTP »SFTP hérite directement des propriétés de SSH :
- Un seul port (le 22, celui de SSH) — pas de canal de données séparé à négocier, pas de plage de ports à ouvrir sur un pare-feu.
- Chiffrement et authentification intégrés d’office, avec les mêmes mécanismes que SSH : mot de passe ou paire de clés.
- Un seul service à exposer et à durcir : sécuriser l’accès SFTP revient à sécuriser l’accès SSH (voir Durcir un accès SSH).
Fonctionnalités
Section intitulée « Fonctionnalités »Au-delà du simple envoi/téléchargement de fichier, SFTP permet de naviguer dans l’arborescence distante, créer/supprimer des répertoires, renommer des fichiers, consulter les permissions — une interface proche d’un système de fichiers distant, alors que FTP reste plus limité sur ce plan.
Restreindre un compte à SFTP seul
Section intitulée « Restreindre un compte à SFTP seul »Un cas d’usage fréquent : donner à un prestataire ou un partenaire un accès uniquement au transfert de fichiers, sans lui ouvrir un shell complet sur le serveur. OpenSSH permet de forcer cela via la directive ForceCommand internal-sftp combinée à un chroot (ChrootDirectory), dans une section Match User dédiée de sshd_config :
Match User partenaire ForceCommand internal-sftp ChrootDirectory /srv/sftp/%u AllowTcpForwarding no X11Forwarding noCe compte peut alors transférer des fichiers, mais ne peut ni ouvrir de shell, ni sortir du répertoire qui lui est assigné, ni utiliser SSH comme tunnel.