Principales commandes SFTP avec exemple | Un guide SFTP complet
Publié: 2022-07-19Qu'est-ce que SFTP ? Comment fonctionne SFTP ?
SFTP ( Secure File Transfer Protocol ) est le protocole de transfert de fichiers le plus sûr utilisé pour accéder, gérer et transférer des fichiers sur un réseau SSH entièrement sécurisé.
Vous avez peut-être entendu parler du protocole FTP. Le SFTP est probablement similaire au FTP mais plus sécurisé. SFTP est principalement utilisé pour transférer et accéder à des fichiers via un transport sécurisé alors que, dans FTP, vous pouvez effectuer plusieurs tâches telles que l'édition, la suppression, la gestion et le transfert des fichiers.
Contrairement à SCP, le SFTP permet aux utilisateurs d'accéder et de gérer des fichiers en plus de les transférer. Cependant, ce didacticiel concerne uniquement le SFTP. Nous vous expliquerons donc toutes les tâches possibles que vous pouvez effectuer dans SFTP. Dans cet article, nous allons vous présenter les principales commandes SFTP utiles avec des exemples que tout le monde devrait connaître avant de se lancer sur le protocole de transfert de fichiers sécurisé (SFTP).
Avant d'entrer dans les commandes SFTP , pour vous connecter à un serveur distant à l'aide de SFTP, vous devez avoir les autorisations ouvertes sur le serveur distant. Si vous ne parvenez pas à vous connecter au SFTP, vous devez contacter votre fournisseur d'hébergement distant.
Créer une connexion SFTP
SFTP prend en charge toutes les méthodes d'authentification de SSH car il s'agit d'un modèle client-serveur. Il est recommandé d'utiliser SFTP pour transférer des fichiers lourds.
Pour établir une connexion SFTP sur un réseau SSH, vous devez avoir un client SSH installé sur votre système local. Par exemple, j'utilise PuTTY pour établir une connexion SFTP de mon serveur local au serveur distant.
- Pour vous connecter avec SFTP, ouvrez PuTTY et connectez-vous à votre serveur local en entrant l'adresse IP ou le nom d'hôte.
- Tapez le nom d'utilisateur et le mot de passe pour vous connecter à votre serveur local.
- Vous pouvez maintenant établir une connexion SFTP à l'aide de la commande suivante :
sftp remote_username@serverIP_or_hostname
- Voir l'image ci-dessous par exemple où j'ai utilisé mon nom d'utilisateur à distance et mon adresse IP.
- Tapez le mot de passe du serveur distant et appuyez sur Entrée pour vous connecter avec SFTP. Vous pourrez voir l'invite sftp> après une connexion réussie.
Dans certains cas, le serveur distant arrête d'écouter le port 22 par défaut, dans ce cas, vous pouvez essayer d'entrer le port manuellement lors de l'établissement de la connexion en suivant la commande ci-dessous.
sftp -p custom_port remote_username@serverIP_or_hostname
Principales commandes SFTP
- Eh bien, il existe des centaines de commandes que vous pouvez utiliser dans SFTP. La plupart des commandes sont probablement similaires aux commandes Linux Shell. Vous pouvez utiliser la commande help pour obtenir la liste de toutes les commandes SFTP disponibles.
Production: sftp> aide Commandes disponibles : au revoir quitter sftp cd path Changer le répertoire distant en 'path' chgrp grp path Changer le groupe de fichiers 'path' en 'grp' chmod mode path Modifier les autorisations du fichier 'path' en 'mode' chown own path Changer le propriétaire du fichier 'path' en 'own' ... ... ... ... ... ... quitter Quitter sftp
- Vous pouvez voir votre répertoire de travail distant actuel à l'aide de la commande pwd .
Production: sftp> mot de passe Répertoire de travail distant : /home/Getintod
En dehors de cela, vous pouvez ajouter l (Local) avant toute commande SFTP pour l'exécuter sur votre serveur local. Par exemple, utilisez la commande lpwd pour afficher le répertoire de travail local actuel.
Production: sftp > lpwd Répertoire de travail local : /home/learnher
Utilisez la commande ls pour voir la liste des fichiers et répertoires présents dans le SFTP distant.
sftp> ls home/utilisateur/chemin
De la même manière, utilisez la commande lls pour voir la liste des fichiers et répertoires présents sur le serveur local.
sftp> lls home/utilisateur/chemin
Pour parcourir les répertoires, vous pouvez utiliser la commande cd .
sftp> cd home/utilisateur/chemin
similaire à ceci, utilisez la commande lcd pour changer le répertoire de travail actuel de votre serveur local.
sftp> lcd home/utilisateur/chemin
Transférer des fichiers dans SFTP
Vous pouvez facilement télécharger ou transférer un fichier ( distant vers local ) dans SFTP à l'aide de la commande get .
sftp> obtenir le nom du fichier.zip
Le fichier téléchargé sera stocké dans le répertoire de travail local actuel . De plus, vous pouvez télécharger le fichier avec un nouveau nom en utilisant la commande suivante.
sftp> get filename.zip Newname.zip
Dans certains cas, le téléchargement ou le transfert peut échouer ou être interrompu entre-temps. Vous pouvez reprendre le téléchargement en suivant la commande ci-dessous.
sftp> reget filename.zip
Vous connaissez maintenant les commandes pour transférer un fichier du serveur distant vers votre serveur local. De plus, vous pouvez également transférer un fichier de votre serveur local vers le serveur distant en utilisant la commande put .
sftp> mettre nomfichier.zip
La commande put ne transférera que des fichiers, pour transférer un répertoire du serveur local vers le serveur distant, vous pouvez ajouter un argument récursif -r dans votre commande.
sftp> put -r nom_répertoire
De même, pour reprendre un fichier interrompu, utilisez la commande ci-dessous.
sftp> restituer nomfichier.zip
Vous pouvez utiliser tous les arguments de la commande put que vous avez utilisés dans la commande get .
Quelques autres commandes SFTP utiles
Il existe d'autres commandes SFTP importantes que vous devez connaître. Cependant, si vous connaissez les commandes Linux Shell, ce sera facile pour vous car vous pouvez également utiliser certaines commandes Linux Shell dans SFTP.
- Pour obtenir les informations sur le serveur distant :
sftp>df
- Pour changer la permission d'un fichier sur le serveur distant :
sftp> chmod 644 nomfichier.php
- Pour créer un nouveau répertoire sur le serveur distant :
sftp> mkdir nom_répertoire
- Pour supprimer un fichier sur le serveur distant :
sftp> rm nomfichier.php
- Pour renommer un fichier sur le serveur distant :
sftp> renommer filaname.php new_filename.php
- Pour supprimer un répertoire vide sur le serveur distant :
sftp> rmdir nom_répertoire
- Changer le propriétaire du groupe d'un fichier distant :
sftp> chgrp groupe_id nom_fichier
- Changer le propriétaire du fichier sur le serveur distant (Root) :
[root@test pwd]# chown user_id file_name
- Pour connaître votre version SFTP actuelle :
sftp> version
- Pour changer le groupe & propriétaire d'un fichier/répertoire (Root) :
[root@test pwd]# chown username:groupname filename.php
[root@test pwd]# chown username:groupname directoryname
- Déplacer tout le contenu d'un répertoire vers un autre répertoire (déplacer tous les fichiers et répertoires d'un répertoire d'un niveau vers le haut).
sftp> mv -v nomrépertoire/* ~/home/utilisateur/chemin
En dehors de cela, vous ne pouvez supprimer aucun répertoire rempli de contenu à l'intérieur. De plus, SFTP ne permet pas aux utilisateurs de créer de nouveaux fichiers. Cependant, vous pouvez toujours supprimer le fichier si vous le souhaitez.
Pour fermer la connexion SFTP, tapez la commande bye ou quit et appuyez sur le bouton Entrée pour revenir à votre serveur local.
Nous espérons que vous avez maintenant une bonne connaissance des commandes SFTP et de l'utilisation des commandes SFTP. En dehors de cela, vous pouvez désormais facilement transférer ou télécharger des fichiers de SFTP vers le serveur local et local vers le serveur SFTP.