Présentation
SFTP (Safe File Transfer Protocol) fait partie du protocole SSH conçu pour transférer en toute sécurité des fichiers entre des systèmes distants. Il permet aux utilisateurs d'afficher, de gérer et de modifier les autorisations de fichiers et de répertoires sur des systèmes distants.
Dans ce didacticiel, nous passerons en revue les commandes que vous pouvez utiliser avec SFTP tout en fournissant des explications, des options et des exemples pour chacune.
Prérequis
- Accès à un système local et à un serveur distant, connectés à l'aide d'une paire de clés publiques SSH.
- Une connexion Internet fonctionnelle.
- Accès à la fenêtre du terminal.
Liste des commandes et options SFTP
SFTP permet aux utilisateurs de transférer des données entre un serveur SFTP distant et un système client local. SFTP utilise le protocole réseau SSH pour connecter deux systèmes qui partagent une clé SSH publique.
La connexion au serveur SFTP ouvre l'interface du shell SFTP. L'interface shell SFTP prend en charge les commandes suivantes :
Commande | Description |
cd [path] | Changez le répertoire sur le serveur distant en [path] . |
lcd [path] | Changez le répertoire sur le système local en [path] . |
chgrp [group ID] [path] | Changer la propriété du groupe en [group ID] pour le fichier ou le dossier situé à [path] . |
chmod [mode] [path] | Changer la propriété en [mode] pour le fichier ou le dossier situé à [path] . |
chown [user ID] [path] | Changer la propriété de l'utilisateur en [user ID] pour le fichier ou le dossier situé à [path] . |
help | Afficher le texte d'aide. |
get [remote path] [local path] | Transférer un fichier ou un répertoire depuis [remote path] sur le serveur distant vers [local path] sur le système local. |
lls [options] [path] | Afficher la liste du répertoire situé à [path] sur le système local. Utilise le ls options de commande. |
ln [old path] [new path] | Créer un lien symbolique à partir de [old path] vers [new path] sur le serveur distant. |
lmkdir [path] | Créer un répertoire à [path] sur le système local. |
lpwd | Afficher le répertoire local courant. |
ls [options] [path] | Afficher la liste du répertoire situé à [path] sur le serveur distant. Utilise le ls options de commande. |
lumask [mask] | Définir le masque des autorisations locales sur [mask] . |
mkdir [path] | Créer un répertoire à [path] sur le serveur distant. |
put [local path] [remote path] | Transférer un fichier ou un répertoire depuis [local path] sur le système local à [remote path] sur le serveur distant. |
pwd | Afficher le répertoire distant actuel. |
exit | Quitter l'interface SFTP. |
exit | Quitter l'interface SFTP. |
rename [old path] [new path] | Renommer un fichier sur le serveur distant à partir de [old path] vers [new path] . |
rmdir [path] | Supprimer un répertoire situé à [path] sur le serveur distant. |
rm [path] | Supprimer un fichier situé à [path] sur le serveur distant. |
symlink [old path] [new path] | Créer un lien symbolique à partir de [old path] vers [new path] sur le serveur distant. |
version | Afficher la version actuelle de SFTP |
![command] | Exécuter <strong>[command]</strong> dans le shell local. |
! | Passer temporairement au shell local. |
? | Afficher le texte d'aide. |
Connexion au SFTP
La connexion à SFTP utilise la même syntaxe que la connexion à un système distant avec SSH :
sftp [username]@[remote hostname or IP address]
Par exemple, se connecter à un serveur avec le phoenixnap nom d'utilisateur à l'adresse IP 192.168.100.7 :
sftp [email protected]
Si la connexion réussit, le shell se déplace vers l'interface SFTP, indiquée par sftp>
à la place du nom d'utilisateur actuel :
Lors de la connexion à un système distant avec SFTP, utilisez les options suivantes avec le sftp
commande pour changer son comportement :
Option | Description |
-1 | Utiliser la version 1 du protocole SSH lors de la connexion. |
-4 | Utilisez uniquement des adresses IPv4. |
-6 | Utilisez uniquement des adresses IPv6. |
-A | Permet le transfert de l'agent d'authentification SSH vers le serveur distant. |
-a | Essayer de poursuivre les transferts de fichiers interrompus. |
-B [buffer size] | Définissez une taille de tampon personnalisée (la valeur par défaut est de 32 768 octets). |
-b [batch file] | Spécifiez un fichier batch pour démarrer le sftp commande en mode batch. |
-C | Utiliser la compression de fichier. |
-c [cipher] | Sélectionnez un chiffrement à utiliser lors du chiffrement des données à transférer. |
-D [SFTP server path] | Se connecter à un serveur SFTP local sans utiliser SSH. |
-F [SSH configuration file] | Spécifiez un fichier de configuration SSH à utiliser lors de la connexion. |
-f | Videz les fichiers sur le disque immédiatement après le transfert. |
-i [private key file] | Sélectionnez un fichier contenant la clé privée pour l'authentification par clé publique. |
-J [destination] | Configurer le transfert TCP via la destination fournie. |
-l [kbit/s] | Définir une limite à la bande passante de connexion en kbit/s. |
-N | Désactiver le mode silencieux. |
-o [SSH option] | Ajouter une option de commande ssh lors de la connexion à SFTP. |
-P [port number] | Définir un port auquel se connecter. |
-p | Conserver les autorisations de fichiers et les temps d'accès lors du transfert. |
-q | Activer le mode silencieux. |
-R [number of requests] | Définissez le nombre de demandes de transfert de fichiers simultanées autorisées. |
-r | Transférer des répertoires de manière récursive. |
-S [client] | Spécifiez un client SFTP que vous souhaitez utiliser pour vous connecter. |
-s [SSH subsystem or SFTP server path] | Sélectionnez un sous-système SSH2 ou un chemin de serveur SFTP. |
-v | Tenir un journal de session détaillé. |
Utilisez la exit
commande pour mettre fin à la connexion en cours :
exit
Transférer des fichiers
Utilisez le get
et put
commandes pour créer une demande de transfert de fichier dans SFTP. Le get
La commande transfère les fichiers d'un serveur distant vers le système local, tandis que la commande put
commande fait le contraire.
Le get
La commande utilise la syntaxe de base suivante :
get [path to file]
Utilisation de get
La commande transfère un fichier du serveur distant vers le Accueil du système local annuaire. Par exemple :
get example01.txt
D'autre part, en utilisant le put
La commande transfère un fichier du système local vers le Accueil du serveur distant répertoire :
put example02.txt
Pour transférer le fichier dans un autre répertoire, ajoutez le nom du répertoire à la fin de get
ou put
commande :
get [path to file] [path to directory]
put [path to file] [path to directory]
Pour changer le nom du fichier sur le système local, ajoutez le nouveau nom de fichier à la fin de la commande :
get [path to file] [new file name]
put [path to file] [new file name]
Le get
et put
les commandes utilisent les options suivantes :
Option | Description |
-a | Essayer de reprendre un transfert de fichier. |
-f | Videz le fichier sur le disque immédiatement après le transfert. |
-p | Conserver les autorisations de fichiers et les temps d'accès lors du transfert. |
-R | Transférer un répertoire entier de manière récursive. Lorsque vous utilisez cette option, définissez un chemin vers un répertoire au lieu d'un chemin vers un fichier. |
Modification des autorisations de fichiers
SFTP vous permet également de modifier les autorisations de fichiers et de répertoires sur le serveur distant. Le chown
la commande modifie la propriété du fichier pour les utilisateurs individuels :
chown [user ID] [path to file]
Contrairement au chown
commande, qui nécessite un ID utilisateur, la commande chmod fonctionne de la même manière que dans le shell standard :
chmod [permission] [path to file]
Une autre option consiste à utiliser le chgrp
commande pour changer la propriété du groupe d'un fichier :
chgrp [group ID] [path to file]
SFTP vous permet également de configurer un umask local, en modifiant l'autorisation par défaut pour tous les futurs fichiers transférés vers le système local. Utilisez le lumask
commande pour configurer un nouveau umask local :
lumask [permission mask]
Gestion des fichiers et des répertoires
SFTP fournit des options qui permettent aux utilisateurs de consulter et de gérer des fichiers à la fois sur le système local et sur le serveur distant. Le ls
La commande vous permet de lister les fichiers et répertoires sur le serveur distant. Par exemple :
ls -l
De même, les lls
(ls
local ) répertorie les fichiers et répertoires sur le système local :
lls -l
Le cd
et lcd
les commandes modifient le répertoire de travail actuel sur le serveur distant ou le système local, respectivement :
cd [path to directory on the remote server]
lcd [path to directory on the local system]
L'utilisation de la commande mkdir crée un répertoire sur le serveur distant avec le chemin que vous fournissez :
mkdir [path to the new directory on the remote server]
Par exemple, créer Example_Directory dans la Accueil répertoire :
mkdir Example_Directory
Le mkdir
la commande n'a pas de sortie, vous devez donc utiliser le ls
commande pour vérifier le résultat :
Similaire à ceci, le lmkdir
La commande crée un répertoire sur le système local :
lmkdir [path to the new directory on the local system]
En utilisant le même exemple :
lmkdir Example_Directory
Le rename
commande change le nom d'un fichier ou d'un répertoire sur le serveur distant :
rename [old path] [new path]
Par exemple, renommer example01.txt vers sampledoc.txt :
rename example01.txt sampledoc.txt
Utilisation du rm
commande supprime un fichier du serveur distant :
rm [path to file]
Par exemple, supprimer le sampledoc.txt fichier :
rm sampledoc.txt
De même, le rmdir
commande supprime un répertoire du serveur distant :
rmdir [path to directory]
Par exemple, supprimer Example_Directory :
rmdir Example_Directory
Le ln
et symlink
les commandes créent un lien symbolique vers un fichier ou un répertoire sur le serveur distant :
ln [old path] [new path]
symlink [old path] [new path]
Par exemple, créer un lien vers example02.txt nommé example_link en utilisant le ln
commande :
ln example02.txt example_link
Le pwd
La commande affiche le répertoire de travail actuel sur le serveur distant en sortie :
pwd
D'autre part, le lpwd
La commande crée une sortie qui affiche le répertoire de travail actuel sur le système local :
lpwd
Exécuter des commandes shell locales
SFTP vous permet d'exécuter une commande à l'aide du shell local en ajoutant un point d'exclamation (! ) avant la commande. Cela permet aux utilisateurs d'exécuter des commandes qui ne font pas partie du shell SFTP standard sur le système local.
Par exemple, SFTP ne prend pas en charge l'tree
commande sous Linux. En utilisant le shell local, vous pouvez exécuter cette commande dans l'interface SFTP :
!tree
Utiliser le point d'exclamation (! ) sans commande déplace temporairement l'utilisateur vers le shell local. Pour revenir au shell SFTP, utilisez la exit
commande.
Autres commandes
Utilisation de l'help
ou ?
commandes affiche le texte d'aide de l'interface SFTP. L'aide fournit une liste des commandes disponibles dans le shell SFTP.
La version
La commande affiche la version actuelle du protocole SFTP installé :
Fiche de triche SFTP PDF
Vous trouverez ci-dessous une feuille de référence d'une page contenant toutes les commandes et options SFTP mentionnées ci-dessus. Enregistrez-le au format PDF en cliquant sur le lien ci-dessous.
TÉLÉCHARGER la feuille de triche SFTP