GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande SFTP pour transférer des fichiers

SFTP (SSH File Transfer Protocol) est un protocole de fichier sécurisé utilisé pour accéder, gérer et transférer des fichiers via un transport SSH crypté.

Par rapport au protocole FTP traditionnel, SFTP offre toutes les fonctionnalités de FTP, mais il est plus sécurisé et plus facile à configurer.

Contrairement à SCP, qui ne prend en charge que les transferts de fichiers, le SFTP vous permet d'effectuer une série d'opérations sur des fichiers distants et de reprendre les transferts de fichiers.

Dans ce tutoriel, nous allons vous montrer comment utiliser le Linux sftp commande.

Avant de commencer #

Pour pouvoir transférer des fichiers via SFTP, vous devez disposer d'une autorisation d'écriture sur le système distant.

Lors du transfert de fichiers volumineux, il est recommandé d'exécuter le sftp commande dans un screen ou tmuxsession.

Le répertoire à partir duquel vous exécutez le sftp commande est le répertoire de travail local.

Ne confondez pas SFTP avec FTPS. Les deux protocoles ont le même objectif. Cependant, FTPS signifie FTP Secure, et c'est une extension du protocole FTP standard avec prise en charge de TLS.

Établir une connexion SFTP #

SFTP fonctionne sur un modèle client-serveur. Il s'agit d'un sous-système de SSH et prend en charge tous les mécanismes d'authentification SSH.

Pour ouvrir une connexion SFTP vers un système distant, utilisez le sftp commande suivie du nom d'utilisateur du serveur distant et de l'adresse IP ou du nom de domaine :

sftp remote_username@server_ip_or_hostname

Si vous vous connectez à l'hôte à l'aide de l'authentification par mot de passe, vous serez invité à saisir le mot de passe utilisateur.

Une fois connecté, le sftp vous sera présenté invite, et vous pouvez commencer à interagir avec le serveur distant :

Connected to remote_username@server_ip_or_hostname.
sftp>

Si le serveur SSH distant n'écoute pas sur le port 22 par défaut, utilisez le -P option pour spécifier le port SFTP :

sftp -P custom_port remote_username@server_ip_or_hostname

Commandes SFTP #

La plupart des commandes SFTP sont similaires ou identiques aux commandes du shell Linux.

Pour obtenir une liste de toutes les commandes SFTP disponibles, tapez help , ou ? .

help

Cela affichera une longue liste de toutes les commandes disponibles, y compris une courte description de chaque commande :

Available commands:
bye                                Quit sftp
cd path                            Change remote directory to 'path'
...
...
version                            Show SFTP version
!command                           Execute 'command' in local shell
!                                  Escape to local shell
?                                  Synonym for help

Lorsque vous êtes connecté au serveur distant, votre répertoire de travail actuel est le répertoire personnel de l'utilisateur distant. Vous pouvez le vérifier en tapant :

pwd
Remote working directory: /home/remote_username

Pour lister les fichiers et répertoires, utilisez le ls commande :

ls

Pour naviguer vers un autre répertoire, utilisez le cd commande. Par exemple, pour passer au /tmp répertoire que vous saisiriez :

cd /tmp

Les commandes ci-dessus sont utilisées pour naviguer et travailler sur l'emplacement distant.

Le shell SFTP fournit également des commandes pour la navigation locale, les informations et la gestion des fichiers. Les commandes locales sont préfixées de la lettre l .

Par exemple, pour imprimer le répertoire de travail local, vous taperez :

cd lpwd
Local working directory: /home/local_username

Transférer des fichiers avec SFTP #

SFTP vous permet de transférer des fichiers entre deux machines en toute sécurité.

Si vous travaillez sur un ordinateur de bureau, vous pouvez utiliser un client SFTP à interface graphique tel que WinSCP ou FileZilla pour vous connecter au serveur distant et télécharger ou charger des fichiers.

Le sftp La commande est utile lorsque vous travaillez sur un serveur sans interface graphique et que vous souhaitez transférer des fichiers ou effectuer d'autres opérations sur les fichiers distants.

Téléchargement de fichiers avec la commande SFTP #

Pour télécharger un seul fichier depuis le serveur distant, utilisez le get commande :

get filename.zip

Le résultat devrait ressembler à ceci :

Fetching /home/remote_username/filename.zip to filename.zip
/home/remote_username/filename.zip                           100%   24MB   1.8MB/s   00:13

Lors du téléchargement de fichiers avec sftp , les fichiers sont téléchargés dans le répertoire à partir duquel vous avez tapé le sftp commande.

Si vous souhaitez enregistrer le fichier téléchargé sous un autre nom, indiquez le nouveau nom en deuxième argument :

get filename.zip local_filename.zip

Pour télécharger un répertoire depuis le système distant, utilisez le récursif -r choix :

get -r remote_directory

Si un transfert de fichier échoue ou est interrompu, vous pouvez le reprendre en utilisant le reget commande.

La syntaxe de reget est la même que la syntaxe de get :

reget filename.zip

Télécharger des fichiers avec la commande SFTP #

Pour télécharger un fichier de la machine locale vers le serveur SFTP distant, utilisez le put commande :

put filename.zip

Le résultat devrait ressembler à ceci :

Uploading filename.zip to /home/remote_username/filename.zip
filename.zip                          100%   12MB   1.7MB/s   00:06

Si le fichier que vous souhaitez télécharger ne se trouve pas dans votre répertoire de travail actuel, utilisez le chemin absolu vers le fichier.

Lorsque vous travaillez avec put vous pouvez utiliser les mêmes options que celles disponibles avec le get commande.

Pour télécharger un répertoire local, vous devez taper :

put -r locale_directory

Pour reprendre un téléchargement interrompu :

reput filename.zip

Manipulations de fichiers avec SFTP #

En règle générale, pour effectuer des tâches sur un serveur distant, vous vous y connectez via SSH et effectuez votre travail à l'aide du terminal shell. Cependant, dans certaines situations, l'utilisateur peut n'avoir qu'un accès SFTP au serveur distant.

SFTP vous permet d'effectuer certaines commandes de manipulation de fichiers de base. Voici quelques exemples d'utilisation du shell SFTP :

  • Obtenir des informations sur l'utilisation du disque du système distant :

    df
            Size         Used        Avail       (root)    %Capacity
        20616252      1548776     18002580     19067476           7%
  • Créez un nouveau répertoire sur le serveur distant :

    mkdir directory_name
  • Renommer un fichier sur le serveur distant :

    rename file_name new_file_name
  • Supprimer un fichier sur le serveur distant :

    rm file_name
  • Supprimer un répertoire sur le serveur distant :

    rmdir directory_name
  • Modifier les autorisations d'un fichier sur le système distant :

    chmod 644 file_name
  • Changer le propriétaire d'un fichier sur le système distant :

    chown user_id file_name

    Vous devez fournir l'ID utilisateur au chown et chgrp commandes.

  • Changez le propriétaire du groupe d'un fichier distant avec :

    chgrp group_id file_name

Une fois que vous avez terminé votre travail, fermez la connexion en tapant bye ou quit .

Conclusion #

Dans ce tutoriel, nous vous avons montré comment utiliser le sftp commande pour télécharger et charger des fichiers sur votre serveur SFTP distant.

Vous pouvez également configurer une authentification par clé SSH et vous connecter à vos serveurs Linux sans saisir de mot de passe. Si vous vous connectez régulièrement aux mêmes systèmes, vous pouvez simplifier votre workflow en définissant toutes vos connexions dans le fichier de configuration SSH.

N'hésitez pas à laisser un commentaire si vous avez des questions ou des commentaires.


Linux
  1. Comment utiliser la commande Su sous Linux

  2. Commande SCP Linux - Comment transférer un fichier SSH de distant à local

  3. Comment utiliser Netcat pour transférer des fichiers sous Linux

  4. Comment transférer des fichiers en toute sécurité à l'aide de la commande SCP sous Linux

  5. Comment transférer des fichiers en toute sécurité à l'aide de sftp (exemples inclus)

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 SCP pour transférer des fichiers

Comment utiliser la commande PS

Comment utiliser la commande TOP

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