En tant qu'outil, SSH vous oblige à fournir un mot de passe pour l'utilisateur SSH ou une clé SSH pour l'hôte cible. Dans ce tutoriel, nous explorerons comment copier les fichiers et les répertoires à l'aide de la commande SCP.
Commande SCP
La commande SCP est disponible dans tout système qui a installé les packages SSH-Client et Server installés. Vous pouvez ensuite invoquer la commande SCP avec la syntaxe suivante:
$ SCP User @ Source_Host: Source_FileName User @ Destination_host: Destination_FileName
La commande précédente prend peu de paramètres tels que:
Assurez-vous que l'utilisateur spécifié a les autorisations de lecture et d'écriture sur le fichier cible ou le répertoire de l'hôte distant.
Vous pouvez également spécifier d'autres options dans la commande SCP pour modifier son comportement par défaut. Les options acceptées incluent:
Vous pouvez vérifier les autres options en exécutant la commande suivante:
$ man scp
Remarque: Bien que SCP affiche les messages descriptifs des fichiers et des répertoires que vous copiez, il ne vous invitera pas à écraser les fichiers. Par conséquent, assurez-vous de fournir des noms uniques aux fichiers que vous copiez pour éviter la perte de données.
Copier le fichier du local à l'hôte distant
Vous pouvez copier un fichier à partir de votre machine locale à un hôte distant en exécutant la commande suivante:
$ SCP Source_file.user user @ rote_addr: / distant / dir
Par exemple, pour copier le fichier bonjour.Txt vers / home / debian / files répertoire, nous pouvons exécuter la commande suivante:
$ SCP Bonjour.txt debian @ 172.76.32.113: / Home / Debian / Fichiers
La commande vous demandera le mot de passe de l'utilisateur distant spécifié. Si vous avez ajouté votre clé SSH à l'hôte distant, la commande se connectera automatiquement et transférera les fichiers cibles.
Gardez à l'esprit que la commande SCP préservera le nom de fichier d'origine sauf si spécifié. Par exemple, pour enregistrer le fichier sous un autre répertoire, vous pouvez exécuter cette commande suivante:
$ SCP Bonjour.txt debian @ 172.76.32.113: / home / debian / files / hello_new.SMS
Cela changera le nom de fichier de Hello.txt à hello_new.txt sur la machine distante.
Copier le répertoire de l'hôte local à distant
Si vous souhaitez copier un répertoire à partir de votre machine locale vers un hôte distant, utilisez l'option récursive comme indiqué dans la syntaxe suivante:
$ SCP -R SRC_DIR User @ Remote_host: / Path / On / Remote / Host /
Par exemple, pour copier tous les fichiers du répertoire / var / logs de la machine locale, vous pouvez exécuter la commande suivante:
$ scp -r / var / logs / debian @ 172.76.32.113: / Home / Debian / Logs
Les drapeaux -r indiquent à la commande SCP de copier le répertoire récursivement. Si le répertoire cible n'existe pas sur l'hôte distant, le SCP le créera automatiquement.
Copier les fichiers de l'hôte à l'hôte distant
Dans certains cas, vous devrez peut-être copier des fichiers d'un hôte distant vers un autre hôte distant. Vous pouvez y parvenir en exécutant la commande suivante:
$ SCP User_1 @ host_1: src_file user_2 @ host_2: target_path
La commande copiera les fichiers spécifiés dans le paramètre src_file sur le chemin spécifié dans le paramètre Target_Path.
Assurez-vous que les deux machines sont en ligne et qu'ils peuvent communiquer via SSH.
Conclusion
Ce tutoriel vous guide à l'aide de la commande SCP pour copier les fichiers et les répertoires via SSH.