Maison > Article > Tutoriel système > Comment transférer des fichiers en toute sécurité via ssh à l'aide de la commande scp sous Linux
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.
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 :
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!