sFTP ou Protocole de transfert de fichiers sécurisé est une mise à niveau pratique du FTP traditionnel (Protocole de transfert de fichiers ). Le sFTP Le programme se vante de couches de sécurité améliorées car il reflète les protocoles de transport SSH cryptés dans ses opérations de transfert de fichiers.
La commodité de sFTP est dans son adaptation flexible aux fonctionnalités SSH utiles telles que la compression et l'authentification par clé publique.
Une fois que vous avez réussi à accéder à votre machine ou serveur distant via sFTP, ce programme emmène ses utilisateurs dans une session interactive en mode ligne de commande/terminal où vous pouvez confortablement utiliser sa syntaxe de commande définie pour exécuter les opérations nécessaires liées au FTP.
Cet article vise à démontrer la sécurité et la commodité de sFTP lors du téléchargement d'un répertoire (dossiers et sous-dossiers) à partir d'une machine/serveur distant.
sFTP et transfert de fichiers
Il y a deux sFTP approches pour se connecter en toute sécurité à votre machine distante via la couche de transport SSH. L'une se fait par authentification par mot de passe et l'autre par connexion SSH sans mot de passe.
La connexion SSH sans mot de passe est une option recommandée car elle est plus sécurisée et vous n'aurez pas à vous souvenir de votre mot de passe de connexion chaque fois que vous aurez besoin d'accéder à votre serveur distant.
Configuration de l'accès sans mot de passe SSH à distance
1. Générez une clé SSH sur votre machine locale/actuelle.
$ sudo ssh-keygen -t rsa
Ignorez l'étape Entrer la phrase secrète :en appuyant sur [Entrée ] sur votre clavier.
2. Ensuite, copiez la clé SSH générée sur la machine distante.
$ sudo ssh-copy-id [email protected]
3. Testez l'accès SSH sans mot de passe à votre serveur distant.
$ sudo ssh [email protected]
La connexion SSH sans mot de passe a été un succès !
Tentative d'accès sFTP sans mot de passe
Déconnectez-vous du serveur et tentez un accès à distance via sFTP.
$ sudo sftp [email protected]
Comme prévu, l'accès au serveur sFTP a été un succès. À partir de la console sFTP résultante, vous pouvez exécuter des commandes interactives courantes basées sur un terminal Linux comme ls , psd , lpwd , et mkdir .
sftp> ls
Vous devriez pouvoir naviguer et identifier le répertoire ciblé sur le serveur distant que vous souhaitez télécharger. Puisqu'il s'agit d'un répertoire, il y a une forte possibilité d'avoir plus de dossiers et de sous-dossiers contenant des fichiers.
sftp> ls -l LinuxShellTips_Backup
Télécharger un répertoire distant Linux à l'aide de sFTP
De mon côté, le répertoire distant ciblé pour le téléchargement est mis en surbrillance comme LinuxShellTips_Backup . Pour télécharger tout ce répertoire sur ma machine locale, je vais utiliser le get commande.
Seul, le get La commande est efficace pour télécharger des fichiers et des dossiers distants (sans sous-dossiers). Puisque nous avons affaire à un répertoire qui peut contenir plusieurs fichiers et dossiers dans des dossiers, le get la commande a besoin de l'aide du -r
(récursif ) pour s'assurer que tous les fichiers, dossiers et sous-dossiers sont téléchargés.
sftp> get -r LinuxShellTips_Backup
La dernière étape consiste à quitter sFTP et vérifiez l'existence du répertoire téléchargé sur le répertoire de travail actuel de la machine locale que vous utilisez.
sftp> exit $ ls -l LinuxShellTips_Backup
Télécharger le répertoire sur le serveur distant à l'aide de sFTP
Si vous êtes curieux de télécharger un fichier sur un serveur distant via sFTP , assurez-vous d'abord que le serveur distant a le même nom de répertoire que celui que vous êtes sur le point de télécharger.
Si vous êtes certain que les noms de répertoire correspondent, utilisez le put commande avec l'option récursive -r
pour un téléchargement réussi du répertoire distant.
sftp> put -r LinuxShellTips_Backup
Vous pouvez désormais télécharger et télécharger des répertoires confortablement et en toute sécurité via sFTP sous Linux.