Référence des commandes SFTP
Toutes les commandes du client OpenSSH sftp avec syntaxe et exemples : connexion, navigation, transferts, permissions et scripts par lots. Le fonctionnement est identique sous Windows 10/11, macOS et Linux, qui intègrent tous le client OpenSSH.
Mis à jour en juillet 2026
Se connecter à un serveur
SFTP passe par SSH (port 22 par défaut) : l'authentification et la vérification de la clé d'hôte fonctionnent donc exactement comme avec ssh. Ces options se placent sur la ligne de commande avant le début de la session :
| Commande / option | Effet | Exemple |
|---|---|---|
sftp user@host | Ouvre une session SFTP interactive. | sftp alice@example.com |
-P port | Se connecte à un port non standard (attention : P majuscule, contrairement à ssh). | sftp -P 2222 alice@example.com |
-i fichierclé | S'authentifie avec une clé privée SSH précise. | sftp -i ~/.ssh/deploy_key alice@example.com |
-b fichier | Mode batch : exécute les commandes d'un fichier sans interaction. | sftp -b upload.txt alice@example.com |
-r | Rend get/put récursifs pour toute la session. | sftp -r alice@example.com |
sftp user@host:chemin | Récupère un fichier directement puis quitte (pas de session interactive). | sftp alice@example.com:/logs/app.log |
Si la connexion est refusée ou reste bloquée, vérifiez d'abord le serveur avec le testeur de connexion SFTP, et regardez quelles méthodes d'authentification il accepte avec le vérificateur de méthodes d'authentification SFTP.
Télécharger et envoyer
| Commande | Effet | Exemple |
|---|---|---|
get | Télécharge un fichier depuis le serveur. | get report.pdf |
get -r | Télécharge un répertoire et tout son contenu. | get -r backups |
put | Envoie un fichier local vers le serveur. | put site.zip |
put -r | Envoie un répertoire de façon récursive. | put -r dist |
mget | Télécharge plusieurs fichiers correspondant à un motif. | mget *.log |
mput | Envoie plusieurs fichiers correspondant à un motif. | mput *.html |
reget | Reprend un téléchargement partiellement effectué. | reget big-backup.tar |
reput | Reprend un envoi partiellement effectué. | reput big-backup.tar |
progress | Affiche ou masque l'indicateur de progression des transferts. | progress |
Il n'existe pas de bascule ascii/binary : SFTP transfère toujours les fichiers octet par octet, rien n'est donc corrompu par une conversion de fins de ligne.
Mode batch et scripts
Pour des transferts sans surveillance, placez les commandes dans un fichier (une par ligne) et lancez sftp en mode batch. Ce mode s'interrompt à la première erreur et exige une authentification par clé : il ne peut pas demander de mot de passe.
# upload.txt cd /var/www/site lcd C:\Projects\site\dist put -r . bye C:\> sftp -b upload.txt -i C:\keys\deploy_key deploy@example.com
Cela fonctionne, mais chaque tâche récurrente implique d'entretenir un script, une clé et une entrée dans le Planificateur de tâches. Si vous préférez définir dans une interface « envoyer ce dossier chaque nuit à 2 h 00 », avec reprises, notifications et historique, c'est précisément le rôle des transferts planifiés de FTPie.
À propos des commandes SFTP
SFTP (SSH File Transfer Protocol) n'est pas du FTP sur SSH : c'est un protocole distinct bâti sur la couche de connexion SSH, défini par la série IETF draft-ietf-secsh-filexfer. La commande sftp de Windows, macOS et Linux est l'implémentation cliente d'OpenSSH, et c'est son jeu de commandes que documente cette page. Comme tout circule dans SSH, un seul port ouvert (22) transporte l'authentification, les commandes et les données chiffrées : aucune plage de ports en mode passif ni certificat TLS à configurer.
Vous venez du FTP classique ? Les jeux de commandes se recoupent mais diffèrent sur des points importants : voir la référence des commandes FTP pour ftp.exe et les commandes du protocole RFC 959.
Questions fréquentes
Non. SFTP est un protocole différent qui passe par SSH, et son jeu de commandes est proche mais pas identique. Les commandes de base comme get, put, cd, ls et bye fonctionnent dans les deux, mais SFTP ajoute des commandes de type Unix comme chmod, ln et df, utilise reget/reput pour reprendre les transferts, et n'a pas de mode ascii/binary : tout transfert est binaire. Des commandes comme mdelete, hash ou literal des clients FTP classiques n'existent pas dans sftp.
Utilisez l'option -r (récursif) : get -r dossierprojet télécharge toute une arborescence, et put -r dossierprojet en envoie une. Le répertoire cible ne doit pas déjà contenir de fichiers en conflit. Vous pouvez aussi démarrer la session avec sftp -r user@host pour rendre les transferts récursifs par défaut.
Utilisez reget nomfichier pour reprendre un téléchargement partiel et reput nomfichier pour reprendre un envoi. Le fichier partiel doit encore exister du côté qui reçoit ; sftp repart alors de l'endroit où il s'était arrêté au lieu de tout recommencer.
Oui. Windows 10 (1809 et versions ultérieures) et Windows 11 embarquent le client OpenSSH : vous pouvez donc lancer sftp user@host directement depuis l'invite de commandes ou PowerShell, sans logiciel supplémentaire. Les commandes de cette page fonctionnent de façon identique sous Windows, macOS et Linux.
Placez une commande par ligne dans un fichier texte et lancez sftp -b batch.txt user@host. Le mode batch exige une authentification non interactive, ce qui revient en pratique à configurer d'abord une authentification par clé SSH. Pour des tâches récurrentes - envois planifiés, sauvegardes, synchronisations - un client doté d'un planificateur intégré vous évite d'entretenir des scripts et des entrées dans le Planificateur de tâches.
Vous préférez un client SFTP graphique ?
FTPie est un client SFTP moderne pour Windows : authentification par clé SSH, vérification de la clé d'hôte, transferts récursifs par glisser-déposer et planificateur intégré - gratuit jusqu'à 3 connexions serveur.
Télécharger FTPie gratuitement