Comment transférer des fichiers sous Linux avec SCP et Rsync

Dans ce tutoriel, nous expliquerons comment utiliser SCP (Secure Copy) et Rsync, deux commandes qui peuvent être utilisées pour transférer des fichiers entre deux machines.

Par exemple, nous pouvons copier un fichier ou un répertoire d'un système local vers un système distant ou d'un système distant vers un système local.

Lors de l'utilisation de scp pour transférer des fichiers, tout est crypté afin que les détails sensibles ne soient pas exposés.


Dans ce tutoriel, nous donnons des exemples d'utilisation de scp et rsync commandes pour transférer des fichiers.



SCP (copie sécurisée)

scp copie les fichiers entre les hôtes sur un réseau.


Il utilise ssh (1) pour le transfert de données, utilise la même authentification et fournit la même sécurité que ssh (1).

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

Vous pouvez en savoir plus sur la configuration des clés ssh.

La syntaxe générale et l'utilisation de scp est:


scp [OPTION] [user@]local:]file1 [user@]remote:]file2

scp fournit un certain nombre d'options qui sont expliqué plus en détail .

Transférer des fichiers de local à distant avec SCP

Pour copier ou transférer un fichier d'une machine locale vers une machine distante, exécutez la commande suivante:

scp image.png remote_username@10.10.0.1:/remote/directory

Où:

  • image.png est le nom du fichier que nous voulons transférer du local vers le distant,
  • remote_username est l'utilisateur sur le serveur distant,
  • 10.10.0.1 est l'adresse IP du serveur,
  • / répertoire / distant est le chemin du répertoire dans lequel nous voulons copier le fichier.

Noter: Si vous ne spécifiez pas de répertoire distant, le fichier sera copié dans le répertoire de base de l’utilisateur distant.


Lorsque vous appuyez sur Entrée, vous serez invité à entrer le mot de passe de l'utilisateur distant et le transfert commencera.

L'omission du nom de fichier 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 un nouveau nom:

Par example:

scp image1.png remote_username@10.10.0.1:/remote/directory/new_image.png

Transférer des fichiers de la télécommande vers le local avec SCP

Pour transférer un fichier d'une machine distante vers votre machine locale, exécutez la commande suivante:


scp remote_username@10.10.0.1:/remote/directory/new_image.png /local/directory

Transférer un répertoire récursivement du local vers le distant

Pour transférer un répertoire et tout son contenu d’une machine locale vers un hôte distant, utilisez la commande suivante:

scp -rp sourcedirectory user@dest:/path

NB: Cela crée le sourcedirectory dans / path donc les fichiers seront dans / path / sourcedirectory



Rsync

J'aime scp, rsync est utilisé pour copier des fichiers vers ou depuis un hôte distant, ou localement sur l'hôte actuel.

rsync est généralement utilisé pour transférer des fichiers volumineux.


Transférer un fichier local vers distant avec Rsync

Pour copier un fichier de votre machine locale vers un hôte distant avec rsynch, exécutez la commande suivante

rsync -ave ssh mydirectory remote_user@10.10.0.2:/remote/directory/

Conclusion

Dans ce didacticiel, vous avez appris à utiliser le scp et rsync commande pour copier des fichiers et des répertoires entre deux machines.