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 / optionEffetExemple
sftp user@hostOuvre une session SFTP interactive.sftp alice@example.com
-P portSe 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 fichierMode batch : exécute les commandes d'un fichier sans interaction.sftp -b upload.txt alice@example.com
-rRend get/put récursifs pour toute la session.sftp -r alice@example.com
sftp user@host:cheminRé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

CommandeEffetExemple
getTélécharge un fichier depuis le serveur.get report.pdf
get -rTélécharge un répertoire et tout son contenu.get -r backups
putEnvoie un fichier local vers le serveur.put site.zip
put -rEnvoie un répertoire de façon récursive.put -r dist
mgetTélécharge plusieurs fichiers correspondant à un motif.mget *.log
mputEnvoie plusieurs fichiers correspondant à un motif.mput *.html
regetReprend un téléchargement partiellement effectué.reget big-backup.tar
reputReprend un envoi partiellement effectué.reput big-backup.tar
progressAffiche 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

Les commandes SFTP sont-elles les mêmes que les commandes FTP ?

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.

Comment télécharger ou envoyer un dossier entier en 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.

Comment reprendre un transfert SFTP interrompu ?

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.

Windows dispose-t-il d'une commande SFTP intégrée ?

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.

Comment scripter ou automatiser des transferts SFTP ?

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