Android

Comment utiliser la commande linux sftp pour transférer des fichiers

Tuto SSH, Partie 2: La connexion et scp pour copier des fichiers

Tuto SSH, Partie 2: La connexion et scp pour copier des fichiers

Table des matières:

Anonim

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

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

Contrairement à la scp command , qui autorise uniquement les transferts de fichiers, la commande 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 la commande Linux sftp .

Avant que tu commences

Pour pouvoir transférer et gé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 la commande sftp dans un écran ou une session tmux.

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

Etablissement d'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.

Bien que l'authentification par mot de passe traditionnelle soit configurée par défaut et plus facile à utiliser, si vous vous connectez régulièrement à votre serveur via SSH / SFTP, il est recommandé de créer des clés SSH et de configurer une connexion SFTP sans mot de passe.

Pour ouvrir une connexion SFTP à un système distant, utilisez la commande sftp 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

Une fois connecté, vous serez invité à l'invite sftp et vous pourrez commencer à interagir avec la machine distante:

Connected to remote_username@server_ip_or_hostname. sftp>

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

sftp -oPort=custom_port remote_username@server_ip_or_hostname

Commandes SFTP

La plupart des commandes SFTP sont similaires ou identiques aux commandes que vous utiliseriez dans l'invite du shell Linux.

Vous pouvez obtenir une liste de toutes les commandes SFTP disponibles en tapant help ou ? .

help

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

Naviguer avec SFTP

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

pwd

Remote working directory: /home/remote_username

Pour répertorier les fichiers et répertoires, utilisez la commande ls :

ls

Pour naviguer vers un autre répertoire, utilisez la commande cd . Par exemple, pour basculer vers le /tmp , vous devez taper:

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, la gestion des informations et des fichiers. Les commandes locales sont préfixées par la lettre l .

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

cd lpwd

Local working directory: /home/local_username

Transfert de fichiers avec SFTP

Avec SFTP, vous pouvez transférer des fichiers en toute sécurité entre deux machines.

La commande sftp 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

Une fois connecté au serveur distant, votre répertoire de travail actuel est le répertoire de base de l'utilisateur distant.

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

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

get filename.zip

La sortie devrait ressembler à ceci:

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

get filename.zip local_filename.zip

Pour télécharger un répertoire à partir du système distant, utilisez l'option récursive -r :

get -r remote_directory

Si un transfert de fichier échoue ou est interrompu, vous pouvez le reprendre à l'aide de la commande reget .

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

reget filename.zip

Téléchargement de fichiers avec la commande SFTP

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

put filename.zip

La sortie 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 du fichier.

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

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 disposer uniquement d'un accès SFTP au serveur distant.

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

  • Obtenez 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

    Renommez un fichier sur le serveur distant:

    rename file_name new_file_name

    Supprimez un fichier sur le serveur distant:

    rm file_name

    Supprimez un répertoire sur le serveur distant:

    rmdir directory_name

    Modifiez les autorisations d'un fichier sur le système distant:

    chmod 644 file_name

    Changez le propriétaire d'un fichier sur le système distant:

    chown user_id file_name

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

    Modifiez 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 au bye ou quit .

Conclusion

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

Vous pouvez également configurer une authentification basée sur une clé SSH et vous connecter à vos serveurs Linux sans entrer de mot de passe.

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

terminal sftp