GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment utiliser SFTP pour transférer des fichiers

Présentation

SFTP (Safe File Transfer Protocol) est inclus avec SSH comme moyen sécurisé de transférer des fichiers entre des systèmes distants. Il permet également aux utilisateurs d'effectuer des tâches administratives de base sur des serveurs distants, telles que la gestion de fichiers et de répertoires et la définition d'autorisations de fichiers.

Dans ce didacticiel, nous allons vous montrer comment utiliser SFTP pour transférer des fichiers entre un système local et un système distant à l'aide de l'interface du terminal.

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.

Comment se connecter à l'aide de SFTP

SFTP établit une connexion sécurisée entre les systèmes en utilisant le protocole réseau SSH. Cela vous permet de vous connecter à n'importe quel système disposant d'une copie de votre clé SSH publique.

La connexion à un autre système à l'aide de SFTP suit la même syntaxe de commande que la connexion à l'aide de SSH. La commande vous demande de fournir un nom d'utilisateur et un nom d'hôte distant ou une adresse IP pour le système auquel vous souhaitez accéder :

sftp [username]@[remote hostname or IP address]

Dans l'exemple ci-dessous, nous nous connectons à un système avec l'adresse IP 192.168.100.5 en utilisant le phoenixnap nom d'utilisateur :

sftp [email protected]

Pour mettre fin à une connexion en cours, utilisez :

exit

Comment transférer des fichiers à l'aide de SFTP

L'utilisation de SFTP vous permet de transférer des fichiers d'un serveur distant vers un système local et vice versa.

Transférer des fichiers distants vers un système local

Utilisez le get commande dans l'interface SFTP pour transférer un fichier d'un serveur distant vers votre système local :

get [path to file]

Par exemple, pour transférer un fichier nommé example_document.txt depuis la Accueil du système distant répertoire sur le système local, utilisez :

get example_document.txt

Par défaut, SFTP transfère les fichiers vers l'Accueil du système local annuaire. Pour transférer des fichiers vers un autre répertoire, ajoutez le chemin d'accès au répertoire à la fin de get commande :

get example_document.txt Downloads

Pour modifier le nom de fichier sur le système local, ajoutez le nouveau nom de fichier à la fin de get commande.

get example_document.txt sample01.txt

Dans l'exemple ci-dessus, le get la commande récupère le example_document.txt fichier et l'enregistre sous sample01.txt sur le système local.

SFTP permet également le transfert d'un répertoire entier depuis le système distant en utilisant le -r flag, indiquant un transfert récursif de tous les fichiers du répertoire :

get -r Example_Directory

Ajoutez le -P indicateur au get commande pour transférer le fichier ou le répertoire en préservant les permissions et les temps d'accès :

get -Pr Example_Directory

Utilisez le ls commande pour vérifier le transfert vers le système local :

ls -l

Transférer des fichiers locaux vers un serveur distant

Pour transférer des fichiers d'un système local vers un serveur distant, utilisez le put commande. Le put La commande utilise la même syntaxe et les mêmes options que la commande get commande.

put [path to file]

Par exemple, pour transférer un example01.txt fichier sur le serveur distant, utilisez :

put example01.txt

Pour transférer le fichier vers un répertoire spécifique sur le serveur distant, ajoutez le chemin d'accès au répertoire à la fin du put commande.

put example01.txt Example_Directory

Ajout d'un nouveau nom de fichier à la fin du put La commande change le nom du fichier transféré sur le serveur distant.

put example01.txt text_sample.txt

Le transfert d'un répertoire entier nécessite le -r drapeau.

put -r Test_Directory

Ajoutez le -P flag au put commande pour conserver les autorisations de fichiers :

put -Pr Test_Directory

Vérifiez le transfert de fichier en utilisant le ls commande sur le système distant :

Maintenance des fichiers à l'aide de SFTP

SFTP prend en charge la maintenance de base des fichiers. Par exemple, utilisez SFTP pour modifier les autorisations de fichiers et de répertoires sur un système distant.

Le chown La commande modifie le propriétaire du fichier de la même manière que la commande chmod :

chown [user ID] [path to file]

Contrairement au chmod commande, chown accepte uniquement les ID utilisateur et non les noms d'utilisateur. Pour trouver les UID du serveur distant à l'aide de l'interface SFTP, vous devez transférer et accéder à /etc/passwd fichier :

get /etc/passwd
!less passwd

L'UID de chaque utilisateur se trouve dans la troisième colonne, séparé par les deux-points :

Le chmod La commande fonctionne de la même manière que dans le shell standard :

chmod [permission] [path to file]

Une autre option consiste à modifier la propriété du fichier de groupe avec le chgrp commande :

chgrp [group ID] [path to file]

Comme pour les UID, les ID de groupe se trouvent dans la troisième colonne du /etc/group fichier sur le serveur distant :

get /etc/group
!less group

SFTP vous permet de définir un umask local, qui modifie l'autorisation de fichier par défaut pour les fichiers transférés vers le système local.

Par exemple :

lumask 022

La commande ci-dessus change le umask local en 022 . Chaque fichier transféré après avoir défini ce umask a maintenant le 644 autorisation par défaut. Vous pouvez toujours conserver l'autorisation d'origine en utilisant le -p drapeau.

Une autre façon de modifier les autorisations de fichiers locaux consiste à utiliser SFTP pour répliquer le comportement des commandes shell. Pour cela, ajoutez un point d'exclamation (! ) avant le nom de la commande.

Par exemple, en utilisant le chmod commande sur le système local :

!chmod [permission] [path to file]

Ubuntu
  1. Comment utiliser la commande SFTP pour le transfert de fichiers sécurisé

  2. Comment transférer des fichiers entre des machines locales et distantes à l'aide du protocole SFTP

  3. Utilisation du protocole SFTP pour transférer des fichiers entre des machines locales et distantes

  4. Comment connecter un Nexus 7 pour transférer des fichiers ? ?

  5. Comment utiliser FTP sous Linux pour transférer des fichiers

Comment utiliser la commande Linux FTP pour transférer des fichiers

Comment utiliser la commande SCP pour transférer des fichiers en toute sécurité

Comment utiliser la commande SFTP pour transférer des fichiers

Comment utiliser la commande SCP pour transférer des fichiers

Comment utiliser Bluetooth sur Ubuntu pour le transfert de fichiers

Procédure :Commandes SFTP - Transférer en toute sécurité des fichiers vers un serveur distant