SCP récursivement

SCP récursivement
Secure Copy ou SCP est un utilitaire de ligne de commande qui permet aux utilisateurs de transférer des fichiers et des répertoires en toute sécurité d'une machine à un autre protocole SSH.

SCP est pratique car il est facile à utiliser. Certaines des fonctionnalités de l'utilisation de SCP pour transférer des fichiers sur des hôtes distants incluent:

  • Le transfert de fichiers et de répertoires est mis en œuvre sur SSH, améliorant ainsi la sécurité,
  • Il prend en charge une copie bidirectionnelle. je.e., peut transférer des fichiers et des répertoires vers et depuis un hôte distant.
  • Il fait partie du package OpenSSH et ne nécessite donc pas d'installation de package séparée.

Pour ce tutoriel, nous allons expliquer comment copier des fichiers et des répertoires récursivement à l'aide de SCP. L'utilisation de SCP accélérera le transfert de fichier et de répertoire.

SCP Basic

Avant d'illustrer comment copier les fichiers et les répertoires récursivement, passons en revue un SCP de base. N'hésitez pas à passer à la section dont vous avez besoin.

La syntaxe générale pour la commande SCP est:

SCP [option] utilisateur @ src_ip: src_filename utilisateur @ dst_ip: dst_filename

Nous commençons par appeler la commande SCP.

  • Ensuite, nous spécifions les options qui nous permettent de modifier le comportement de base de la commande. Les options prises en charge incluent le port SSH personnalisé, la copie récursive, le fichier d'identité et tel.
  • Ensuite, nous définissons le nom du fichier source.
  • Enfin, nous définissons le nom du fichier de destination.

NOTE: Assurez-vous de définir le nom d'utilisateur et l'hôte pour les fichiers distants.

Exemple 1 - Copiez le fichier distant vers local

Voici des exemples de la façon dont vous pouvez copier des fichiers vers et depuis les machines distantes à l'aide de la commande SCP:

Avant que nous commencions:

  • Assurez-vous d'avoir un accès SSH à l'hôte distant (utilisez une clé SSH ou un mot de passe).
  • Assurez-vous d'avoir l'autorisation de lecture sur le fichier et les répertoires que vous devez copier et rédiger des autorisations sur le système de destination.

Pour copier un fichier ou un répertoire d'une machine distante vers une machine locale, nous devons spécifier la machine distante en tant que source et machine locale comme système de destination.

Par exemple, j'ai un fichier de sauvegarde.ZST (Apprenez à utiliser ZST) sur un serveur CentOS distant, et je dois le télécharger sur ma machine Fedora locale. Dans ce cas, je peux faire:

SCP Centos @ 192.168.0.20: / Home / Centos / Téléchargements / Sauvegarde.ZST / Home / Fedora / Téléchargements

Une fois que j'ai exécuté la commande ci-dessus, SCP m'invitera à un mot de passe SSH au serveur CentOS et téléchargera la sauvegarde.Fichier ZST dans mon dossier de téléchargements locaux.

Exemple 2 - Copiez le fichier local à l'hôte distant

De même, je peux transférer un fichier local vers un hôte distant en utilisant SCP.

Par exemple, pour transférer un fichier appelé sauvegarde.Zip de ma machine Fedora à mon serveur CentOS, je peux faire:

SCP / Home / Fedora / Documents / Backup.zip centos @ 192.168.0.20: / Home / Centos / Documents

Dans ce cas, nous copie la sauvegarde.Fichier zip de mon dossier Documents au dossier Documents de ma machine CentOS.

Il est bon de spécifier explicitement le répertoire distant où vous transférerez le fichier… sinon spécifié, SCP stocke des fichiers dans le répertoire à distance de l'utilisateur.

Exemple 3 - SCP sur le port non défaut

Si vous exécutez SSH sur un port non défaut (22), vous pouvez spécifier le port à l'aide de l'indicateur -p.

Pour apprendre à trouver le port sur lequel SSH s'exécute, consultez le lien ci-dessous:

https: // linuxhint.com / finding-ssh-port /
Supposons que SSH fonctionne sur le port 3090, je peux utiliser la commande:

SCP -P 3090 Sauvegarde.zst Centos @ 192.168.0.20: / Home / Centos / Téléchargements /

Cela copie le fichier à l'hôte distant mais à l'aide d'un port SSH non défaut.

Comment copier de manière récursive les fichiers et les répertoires

Si vous souhaitez copier de manière récursive des fichiers et répertoires depuis ou vers un hôte distant à l'aide de SCP, vous devez spécifier l'indicateur -r.

Par exemple, supposons que je souhaite obtenir tous les fichiers journaux du serveur CentOS vers ma machine locale. Dans ce cas, je peux exécuter la commande:

sudo SCP -r racine @ 192.168.0.20: / var / log / logs

Vous remarquerez que j'ai utilisé le compte racine pour mon serveur CentOS. C'est parce que le répertoire / var / log n'est limité qu'à l'utilisateur.

Une fois terminé, les fichiers et répertoires entiers dans le répertoire / var / journal seront transférés vers le répertoire / journaux de ma machine locale.

Conclusion

Dans ce guide, nous avons appris à utiliser l'utilitaire SCP pour transférer des fichiers vers et depuis un hôte distant. Si vous avez besoin d'effectuer des transferts massifs en utilisant SCP, assurez-vous d'utiliser une session persistante telle que TMUX.

Merci pour la lecture et les coquilles partout!