Maison  >  Article  >  Tutoriel système  >  Comment transférer des fichiers en toute sécurité via ssh à l'aide de la commande scp sous Linux

Comment transférer des fichiers en toute sécurité via ssh à l'aide de la commande scp sous Linux

WBOY
WBOYavant
2024-02-09 13:39:30867parcourir

Comment transférer des fichiers en toute sécurité via ssh à laide de la commande scp sous Linux

Sur les systèmes d'exploitation Unix ou Linux, l'utilitaire scp (copie sécurisée) est similaire à la commande plus célèbre cp, mais est utilisé pour transférer des fichiers et des répertoires entre hôtes sur un réseau sécurisé et crypté.

Comme il s'appuie sur ssh pour le transfert de données, il offre la même sécurité et utilise la même authentification que ssh. Contrairement à rcp, la commande scp vous demandera un mot de passe pour l'authentification si nécessaire.

Dans cet article, nous allons approfondir le transfert de fichiers sécurisé sous Linux et apprendre à utiliser la commande scp. Avec des explications détaillées et des exemples de cas d'utilisation de commutateurs et d'options scp courants, vous apprendrez à utiliser cet utilitaire.

Il est important de savoir ce qui suit avant de commencer

  1. Étant donné que scp s'appuie sur ssh pour le transfert de données, une clé ou un mot de passe ssh est requis pour s'authentifier sur le système distant (transfert de fichiers Linux ssh).
  2. Confirmez que vous disposez des autorisations d'écriture sur le système cible et des autorisations de lecture sur le fichier source.
  3. Remarque : L'outil scp utilise deux points (:) pour différencier les emplacements distants et locaux.
  4. Lors de la copie d'un fichier avec le même emplacement et le même nom des deux côtés, scp écrasera le fichier sans avertissement préalable.

Syntaxe des commandes SCP Linux

Pour commencer à utiliser la commande scp, vous devez connaître sa syntaxe de base, qui se présente au format suivant :

less复制代码
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2

Options : représente les options scp telles que la configuration ssh, le mot de passe, les restrictions, le port ssh, la copie récursive, etc.

[user@]SRC_HOST:]file1 : Indique le fichier source.

[user@]DEST_HOST:]file2 : représente le fichier cible

Comme toute autre commande, l'outil scp dispose de quelques options pour contrôler son comportement. Les plus courants sont les suivants :

  • -P : indique le port ssh de l'hôte distant auquel se connecter.
  • -p : Spécifie de conserver les modifications, le mode et l'heure d'accès du fichier à partir du fichier d'origine.
  • -q : nécessité de supprimer les messages non-erreurs et les indicateurs de progression.
  • -C : force scp à compresser les données lors de la transmission de l'indicateur -C à ssh pour activer la compression sur les connexions sécurisées cryptées.
  • -r : indique à la commande scp de copier l'intégralité du répertoire de manière récursive.
  • -S : Le nom du programme utilisé pour chiffrer la connexion. Puisque ssh est utilisé, le programme doit comprendre le commutateur ssh.
  • -v : mode verbeux. Permet à scp et ssh d'afficher des messages sur leur progression. Ceci est utile lors du débogage des problèmes de connexion, de configuration et d’authentification.

Transférer des fichiers locaux vers une destination distante

Avant de commencer à utiliser scp, copions les fichiers d'un dossier à un autre en utilisant cp. Nous savons tous comment utiliser la commande cp pour y parvenir :

bash复制代码
cp /home/linuxmi/linuxmi.mp3 /home/linuxmi/audio

Il copie le fichier linuxmi.mp3 dans le répertoire personnel de l'utilisateur linuxmi dans le dossier personnel du même utilisateur, qui est le répertoire audio de Linuxmi.

De la même manière, un exemple de commande scp pouvant être utilisée est le suivant :

typescript复制代码
scp /home/linuxmi/linuxmi.mp3 linuxmi@linuxmi.com:/home/linuxmi/audio

Utilisez linuxmi comme nom de connexion pour télécharger le fichier linuxmi.mp3 sur le serveur linuxmicom dans le répertoire distant /home/linuxmi/audio���. Veuillez noter que scp vous demandera le mot de passe distant pour Linuxmi avant de démarrer le téléchargement. Si aucun répertoire distant n'est fourni, les fichiers seront copiés dans le répertoire personnel de l'utilisateur distant. Si vous ne fournissez pas de nom de fichier sur le dossier de destination, scp copiera le fichier avec le nom d'origine. Si vous souhaitez enregistrer le fichier sous un nom différent, vous devez spécifier un nouveau nom de fichier.

Transférer des fichiers distants vers une destination locale

Pour télécharger le fichier, vous pouvez mentionner un emplacement distant comme emplacement source. Par exemple :

scp linuxmi@linuxmi.com:/home/linuxmi/audio/* /home/linuxmi/downloads

Il téléchargera tous les fichiers audio du répertoire distant /home/linuxmi/audio sur linuxmi.com vers le répertoire local /home/linuxmi/downloads.

Notez le nom du fichier :

Le nom du fichier peut être composé d'utilisateur et d'hôte pour indiquer le transfert du fichier vers ou depuis cet hôte. Pour éviter que scp ne traite les noms de fichiers contenant ":" comme spécificateur d'hôte, les noms de fichiers locaux peuvent être absolus ou relatifs. Cependant, le nom du fichier distant doit inclure à la fois l'utilisateur et l'hôte.

Numéro de port par défaut :

Si sur l'hôte distant, SSH écoute sur un port différent (c'est-à-dire un port autre que le port par défaut 22), vous pouvez utiliser le commutateur -P pour indiquer ce port.

Transférer le répertoire local vers une cible distante

Copiez un répertoire vers un emplacement distant, comme pour copier des fichiers. Il vous suffit d'utiliser l'indicateur -r pour les transferts récursifs.

Pour copier l'intégralité du répertoire sur le système distant, exécutez la commande avec l'option -r, par exemple :

scp -r /home/linuxmi/local_folder linuxmi@linuxmi.com:/home/linuxmi/remote_folder

Transfert de fichiers entre deux systèmes distants

La commande suivante copiera le fichier /folder/linuxmi.mp3 de l'hôte distant linuxmi.com vers le répertoire /folder sur l'hôte distant www.linuxmi.com.

scp linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

Après avoir lancé cette opération, il vous sera demandé de fournir les mots de passe de deux cibles distantes.

Afin d'acheminer le trafic via localhost (c'est-à-dire l'ordinateur sur lequel la commande est exécutée), utilisez le commutateur -3 comme suit :

scp -3 linuxmi@linuxmi.com:/folder/linuxmi.mp3 linuxmi@www.linuxmi.com:/anotherfolder

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer