Transfert de fichiers Débutant
SCP, copier des fichiers via SSH
Transférer des fichiers et répertoires entre machines distantes de façon sécurisée grâce au protocole SSH.
scpsshtransfertlinuxcopie
Définition
scp (Secure Copy Protocol) est une commande Unix servant à copier des fichiers et des répertoires entre machines à travers une connexion chiffrée SSH. Elle réutilise l’infrastructure d’authentification existante (mot de passe ou clé SSH) sans nécessiter de démon supplémentaire sur le serveur distant.
Syntaxe générale
La commande suit toujours le même schéma :
scp [options] source destination
L’un des deux emplacements (ou les deux) peut être distant. Un chemin distant s’écrit sous la forme utilisateur@serveur:chemin/vers/cible.
Mots-clés et options
| Option | Rôle |
|---|---|
-r | Copie récursivement un répertoire entier |
-P <port> | Spécifie le port SSH distant (attention au P majuscule) |
-p | Préserve les dates de modification, d’accès et les permissions |
-C | Active la compression gzip pendant le transfert pour gagner du temps |
-i <clé> | Indique le fichier d’identité SSH (clé privée) à utiliser |
-q | Mode silencieux (masque la barre de progression) |
Exemples de code
1. Envoyer un fichier vers un serveur distant
scp ./rapport.pdf debian@serveur.example.com:/home/debian/documents/
2. Récupérer un fichier distant en local
scp debian@serveur.example.com:/var/log/nginx/access.log ./access.log
3. Copier un dossier avec port SSH et clé privée spécifiques
scp -P 2222 -i ~/.ssh/cle_serveur -r ./site-web/ debian@serveur.example.com:/var/www/site/
Limites courantes
- Pas de reprise : si la connexion coupe à 98 %, le transfert doit repartir de zéro.
- Pas de transfert delta : modifier une seule ligne dans un fichier de 5 Go réexpédie la totalité des 5 Go.
- Obsolescence progressive : les versions récentes d’OpenSSH privilégient désormais le protocole SFTP sous le capot pour
scp.