Aller au contenu principal
Maîtriser le transfert de fichiers sécurisé avec SCP sous Linux
Retour aux articles

Maîtriser le transfert de fichiers sécurisé avec SCP sous Linux

RivoLink 1 min de lecture

Introduction

SCP (Secure Copy Protocol) est un outil en ligne de commande qui permet de transférer des fichiers entre deux machines de manière sécurisée. Il utilise le protocole SSH pour chiffrer les données pendant le transfert, garantissant ainsi la confidentialité et l'intégrité de vos fichiers.

Dans ce guide, vous découvrirez les bases de SCP, des exemples pratiques et des options avancées pour optimiser vos transferts.

Prérequis

Avant d'utiliser SCP, assurez-vous que :

  • SSH est installé et configuré sur les deux machines
  • Vous disposez des droits d'accès appropriés
  • Le port SSH (généralement 22) est ouvert sur le firewall

Syntaxe de base

bash
scp [options] source destination

Exemples fondamentaux

Transférer un fichier vers un serveur distant

bash
scp fichier.txt utilisateur@192.168.1.100:/chemin/destination

Transférer un fichier depuis un serveur distant

bash
scp utilisateur@192.168.1.100:/chemin/fichier.txt ./dossier-local/

Transférer un dossier entier (récursif)

bash
scp -r dossier-local utilisateur@192.168.1.100:/chemin/destination/

Spécifier un port SSH personnalisé

bash
scp -P 2222 fichier.txt utilisateur@serveur.com:/distant/

Options avancées

Limiter la bande passante

Pour éviter de saturer le réseau pendant le transfert :

bash
scp -l 500 fichier.txt utilisateur@serveur.com:/distant/

La valeur est en Kbit/s (ici 500 Kbit/s = 62.5 Ko/s).

Afficher la progression du transfert

bash
scp -v fichier.txt utilisateur@serveur.com:/distant/

Le mode verbose affiche les détails de la connexion et du transfert.

Conserver les permissions et timestamps

bash
scp -p fichier.txt utilisateur@serveur.com:/distant/

Utiliser une clé SSH spécifique

bash
scp -i ~/.ssh/ma_cle_privée fichier.txt utilisateur@serveur.com:/distant/

Exemples pratiques courants

Sauvegarde automatique vers un serveur distant

bash
#!/bin/bash
DATE=$(date +%Y%m%d)
scp -r /var/www/html utilisateur@backup-server:/sauvegardes/site-$DATE

Transférer plusieurs fichiers avec un motif

bash
scp *.log utilisateur@serveur.com:/logs/

Transférer entre deux serveurs distants (depuis votre machine)

bash
scp utilisateur1@serveur1:/chemin/fichier.txt utilisateur2@serveur2:/chemin/

Bonnes pratiques

  • Toujours vérifier la destination avant d'exécuter la commande
  • Utiliser des clés SSH plutôt que des mots de passe pour l'automatisation
  • Compresser les gros fichiers avant transfert pour gagner du temps
  • Tester avec un petit fichier avant de transférer des données importantes

Alternatives à SCP

Bien que SCP soit largement utilisé, considérez ces alternatives :

  • rsync : Plus efficace pour les transferts incrémentiels
  • sftp : Interface interactive avec plus de fonctionnalités
  • rclone : Idéal pour les transferts vers le cloud

Conclusion

SCP reste un outil indispensable pour tout administrateur système. Simple, sécurisé et disponible par défaut sur la plupart des systèmes Unix/Linux, il permet de transférer des fichiers rapidement et en toute confiance.

Pour aller plus loin, consultez la page de manuel : man scp

Articles similaires