SCP (Secure Copy Protocol) est une méthode de transfert de fichiers entre ordinateur basé sur le protocole SSH.
Ainsi la machine établit une connexion SSH puis le transfert de fichier s’effectue.
Le transfert est donc sécurisé puisque la communication est chiffrée.
Cela protège donc du vol de données et des attaques MiTM.
C’est un très bon moyen pour copier des fichiers entre deux machines distantes d’autant qu’il est disponible sur Linux et Windows.
Enfin, on trouve aussi d’autres clients de transfert de fichiers utilisant SSH.
WinSCP est un client Windows qui permet de transférer des fichiers via SCP.
Enfin PSCP est le transfert de fichiers via le client Windows PuTTY.
Dans cet article, nous allons voir comment transférer des fichiers entre deux machines Linux avec SCP.
Table des matières
SCP : transférer des fichiers sur Linux ou Windows 10
SCP est un à la fois une commande et un protocole pour transférer des fichiers.
Elle est très simple d’utilisation et vraiment pratique pour copier des fichiers vers une machine distante.
La commande est disponible sur Windows 10 et Linux.
Voici la syntaxe :
scp <source> <destination>
scp <destionation> <source>
En effet, la copie peut se faire dans les sens
Ainsi pour copier /chemin/fichier vers une machine distante :
scp /chemin/fichier <user>@<host>:/chemin/fichier
Ou inversement, pour copier depuis la machine distante /chemin/fichier vers notre machine local :
scp <user>@<host>:/chemin/fichier /chemin/fichier
Ainsi scp utilise par défaut le port SSH, soit le port TCP 22.
Mais on peut aussi spécifier un autre port avec le paramètre -p
scp -p 2222 [email protected]:/home/malekalmorte/monsuperfichier ~/
Vous souhaitez limiter la bande passante utiliser pour le transfert de fichiers par SCP ?
C’est possible avec le paramètre -l
Ainsi pour limiter la vitesse à 1000 Kbit/s :
scp -l 1000 fichier <user>@<host>:/chemin/fichier
Enfin on peut copier des fichiers de manière récursif grâce à l’option -r.
Comme vous pouvez le voir, scp gère aussi les wildcards et caractères joker.
scp -r [email protected]:/etc/apache2/* apache2/
WinSCP : transférer des fichiers depuis Windows
WinSCP est un logiciel gratuit en graphique pour transférer des fichiers via SCP.
Notez que le programme supporte aussi les protocoles SFTP (SSH File Transfer Protocol), , FTPS (FTP Over TLS).
- Télécharger WinSCP puis lancez l’installation depusi ce lien :
- Lors du premier lancement vous pouvez créer une session
- En haut dans protocole, sélectionnez SCP.
- Ensuite remplissez l’entrée de la session SCP. Pour cela, saisissez le nom d’hôte, nom d’utilisateur et éventuellement le mot de passe
- Puis cliquez sur Sauver
- Sur la fenêtre d’avertissement de l’ajout de l’hôte dans le cache, cliquez sur Oui.
- La connexion SSH est alors établie. D’un côté de la fenêtre WinSCP vous obtenez les fichiers de la machine locale et de l’autre ceux de la machine distante
- Il ne reste plus qu’à faire glisser les fichiers de l’un à l’autre pour copier des fichiers vers la machine distantes ou inversement. On peut aussi supprimer des fichiers. Bref tout gérer.
Vous avez accès aux systèmes de fichiers distant et donc vous pouvez lister, créer, supprimer des dossiers ou fichiers à tout moment.
Plus de détails sur l’utilisation WinSCP :
PSCP : transférer des fichiers depuis le client PuTTY
PSCP, le client PuTTY Secure Copy, est un outil permettant de transférer des fichiers en toute sécurité entre ordinateurs à l’aide d’une connexion SSH.
Il fonctionne de manière similaire à SCP.
- Télécharger et installer PuTTY via le setup au format .msi
- Ouvrez une invite de commandes
- Modifier le PATH afin de pouvoir lancer la commande pscp de n’importe où
set PATH=C:\path\to\putty\directory;%PATH%
Voici la syntaxe est la même que SCP :
pscp [options] [[email protected]]host:source destination
pscp [options] source [[email protected]]host:destination
Par exemple pour transférer le fichier /etc/hosts depuis la machine 192.168.1.15 vers c:\temp\example-hosts.txt :
pscp -P 22 [email protected]:/etc/hosts c:\temp\example-hosts.txt
On saisit le mot de passe de l’utilisateur distant et le transfert de fichiers s’effectue.
Lister le contenu d’un dossier d’un serveur distant :
pscp -ls -P 22 [email protected]:/etc/
Liens
Pour synchroniser et copier des fichiers, vous avez aussi la solution rsync ou par SFTP.
Beaucoup plus rapides car optimisé pour ce type de transfert.
Plus de détails :
- Protocole FTP pour partager ses fichiers : principe et fonctionnement
- 7 meilleurs logiciels de transfert de fichiers en SFTP, FTPS pour Windows
- SCP, WINSCP, PSCP : transférer des fichiers Linux et Windows
- WinSCP : transférer des fichiers de Windows vers Linux en SFTP, SCP, FTPS
- WinSCP : Synchronisation automatique, manuel de fichiers ou dossiers distants
- rsync : synchroniser, copier des fichiers à distance ou locaux
- SSH : comment ça marche
- Comment se connecter en SSH à un serveur distant
- Copier des fichiers ou répertoire dans un terminal sur Linux