Android

Comment utiliser la commande scp pour transférer des fichiers en toute sécurité

Utilisation de putty

Utilisation de putty

Table des matières:

Anonim

SCP (copie sécurisée) est un utilitaire de ligne de commande qui vous permet de copier en toute sécurité des fichiers et des répertoires entre deux emplacements.

Avec scp , vous pouvez copier un fichier ou un répertoire:

  • De votre système local à un système distant D'un système distant à votre système local Entre deux systèmes distants de votre système local

Lors du transfert de données avec scp , les fichiers et le mot de passe sont cryptés, de sorte que toute personne espionnant le trafic n'obtienne rien de sensible.

Dans ce tutoriel, nous allons vous montrer comment utiliser la commande scp travers des exemples pratiques et des explications détaillées des options scp les plus courantes.

Syntaxe de commande SCP

Avant d'entrer dans la façon d'utiliser la commande scp , commençons par revoir la syntaxe de base.

La syntaxe de la commande scp prend la forme suivante:

scp SRC_HOST:]file1 DEST_HOST:]file2

  • OPTION - options scp telles que chiffrement, configuration ssh, port ssh, limite, copie récursive… etc. SRC_HOST:]file1 - Fichier source. DEST_HOST:]file2 - Fichier de destination

Les fichiers locaux doivent être spécifiés à l'aide d'un chemin absolu ou relatif tandis que les noms de fichiers distants doivent inclure une spécification d'utilisateur et d'hôte.

scp fournit un certain nombre d'options qui contrôlent chaque aspect de son comportement. Les options les plus utilisées sont:

  • -P Spécifie le port ssh de l'hôte distant. -p Préserve la modification des fichiers et les temps d'accès. -q Utilisez cette option si vous souhaitez supprimer le compteur de progression et les messages non d'erreur. -C . Cette option forcera scp à compresser les données lors de leur envoi vers la machine de destination. -r Cette option indique à scp de copier les répertoires de manière récursive.

Avant que tu commences

La commande scp s'appuie sur ssh pour le transfert de données, elle nécessite donc une clé ssh ou un mot de passe pour s'authentifier sur les systèmes distants.

Le deux-points (:) est la façon dont scp distinction entre les emplacements locaux et distants.

Pour pouvoir copier des fichiers, vous devez avoir au moins des autorisations de lecture sur le fichier source et des autorisations d'écriture sur le système cible.

Soyez prudent lorsque vous copiez des fichiers qui partagent le même nom et le même emplacement sur les deux systèmes, scp écrasera les fichiers sans avertissement.

Lors du transfert de fichiers volumineux, il est recommandé d'exécuter la commande scp dans un écran ou une session tmux.

Copiez des fichiers et des répertoires entre deux systèmes avec scp

Copiez un fichier local sur un système distant avec la commande scp

Pour copier un fichier d'un système local vers un système distant, exécutez la commande suivante:

scp file.txt [email protected]:/remote/directory

Où, file.txt est le nom du fichier que nous voulons copier, remote_username est l'utilisateur sur le serveur distant, 10.10.0.2 est l'adresse IP du serveur. Le /remote/directory est le chemin d'accès au répertoire dans lequel vous souhaitez copier le fichier. Si vous ne spécifiez pas de répertoire distant, le fichier sera copié dans le répertoire de base de l'utilisateur distant.

Vous serez invité à saisir le mot de passe utilisateur et le processus de transfert commencera.

[email protected]'s password: file.txt 100% 0 0.0KB/s 00:00

L'omission du nom de fichier à partir de l'emplacement de destination copie le fichier avec le nom d'origine. Si vous souhaitez enregistrer le fichier sous un nom différent, vous devez spécifier le nouveau nom de fichier:

scp file.txt [email protected]:/remote/directory/newfilename.txt

Si SSH sur l'hôte distant écoute sur un port autre que le port par défaut 22, vous pouvez spécifier le port à l'aide de l'argument -P :

scp -P 2322 file.txt [email protected]:/remote/directory

La commande pour copier un répertoire ressemble beaucoup à la copie de fichiers. La seule différence est que vous devez utiliser l'indicateur -r pour récursif.

Pour copier un répertoire d'un système local vers un système distant, utilisez l'option -r :

scp -r /local/directory [email protected]:/remote/directory

Copiez un fichier distant sur un système local à l'aide de la commande scp

Pour copier un fichier d'une télécommande vers un système local, utilisez l'emplacement distant comme source et l'emplacement local comme destination.

Par exemple, pour copier un fichier nommé file.txt partir d'un serveur distant avec IP 10.10.0.2 exécutez la commande suivante:

scp [email protected]:/remote/file.txt /local/directory

Copiez un fichier entre deux systèmes distants à l'aide de la commande scp

Contrairement à rsync , lorsque vous utilisez scp vous n'avez pas besoin de vous connecter à l'un des serveurs pour transférer des fichiers d'une machine distante à une autre.

La commande suivante copiera le fichier /files/file.txt de l'hôte distant host1.com dans le répertoire /files sur l'hôte distant host2.com .

scp [email protected]:/files/file.txt [email protected]:/files

Vous serez invité à saisir les mots de passe des deux comptes distants. Les données seront transférées directement d'un hôte distant à l'autre.

Pour acheminer le trafic via la machine sur laquelle la commande est émise, utilisez l'option -3 :

scp -3 [email protected]:/files/file.txt [email protected]:/files

Conclusion

Dans ce didacticiel, vous avez appris à utiliser la commande scp pour copier des fichiers et des répertoires.

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

terminal scp