Comment transférer en toute sécurité des fichiers et des répertoires en utilisant SCP
SCP
, également appelé secure copy
, est un utilitaire de ligne de commande permettant de transférer des fichiers et des répertoires d’un système local vers un système distant et vice-versa. Il nous permet également de transférer des fichiers et des répertoires entre deux systèmes distants. Les fichiers et les mots de passe sont cryptés pendant le transfert, ce qui en fait un moyen de transfert plus sûr.
Commande SCP
Syntaxe
scp [OPTION] [user@]SRC_HOST:]file1 [user@]DEST_HOST:]file2
Drapeaux:
OPTION
: Elle représente les optionsscp
telles que le chiffrement, la configuration ssh, le port ssh, la limite, la copie récursive …etc[user@]SRC_HOST:]file1
: fichier ou répertoire source à copier[user@]DEST_HOST:]file2
: chemin d’accès au répertoire où le fichier ou le répertoire source doit être copié
Le scp
offre différentes options pour contrôler le transfert. Certaines des options les plus utilisées sont les suivantes:
-P |
Préciser le port ssh de l’hôte distant |
-p |
Préserver les temps de modification et d’accès aux fichiers. |
-q |
Supprimer l’indicateur de progression et les messages d’erreur |
-C |
Compression des données lors du transfert |
-r |
Copiez les fichiers de manière récursive. |
Choses à remarquer lors de l’utilisation de la commande scp
:
- Cette commande utilise la clé
ssh
ou le mot de passe pour authentifier les systèmes distants. - Elle reconnaît les systèmes distants avec le symbole
:
. - Nous devons regarder les permissions de lecture du fichier ou du répertoire source et les permissions d’écriture du fichier ou du répertoire de destination.
- Le
scp
écrase les fichiers sans avertissement. Nous devons donc être prudents lors du transfert de fichiers qui partagent le même nom et le même emplacement sur les deux systèmes.
Transférer des fichiers et des répertoires en utilisant scp
Copier un fichier d’un système local vers un système distant
scp main.py remote_username@11.11.0.200:/Documents/directory
Cette commande nous demandera un mot de passe d’utilisateur et le transfert commencera une fois que nous aurons entré le bon mot de passe.
Production:
remote_username@11.11.0.200's password:
main.py 100% 0 0.0KB/s 00:00
Il copie le fichier main.py
sur notre système local vers le serveur distant avec le nom d’utilisateur remote_username
et l’adresse IP 11.11.0.200
. /Documents/directory
représente le répertoire de destination sur le serveur distant dans lequel le fichier doit être copié. Si le répertoire distant n’est pas spécifié, le fichier sera copié dans le répertoire d’origine de la machine distante.
Si le SSH
sur la machine distante écoute un autre port que le port par défaut 22
, nous pouvons spécifier le port en utilisant l’option -P
.
scp -P 8080 main.py remote_username@11.11.0.200:/Documents/directory
Copier un répertoire du système local vers le système distant
Nous devons utiliser l’argument -r
avec la commande scp
pour transférer des répertoires qui représente un transfert récursif de tous les fichiers à l’intérieur du répertoire.
scp -r /Documents/myapp remote_username@11.11.0.200:/Documents/remote_app
Elle copie le répertoire myapp
à l’intérieur du répertoire Documents
de la machine locale dans le répertoire remote_app
à l’intérieur du répertoire Documents
de la machine distante.
Copier un fichier du système distant vers le système local
Pour copier un fichier système distant vers le système local, nous utilisons un emplacement distant comme source et un emplacement local comme destination.
scp remote_username@11.11.0.200:/remote/main.py /Documents/local
Il copie le fichier main.py
du système distant vers notre système local avec le répertoire de destination /Documents/local
.
Copier le fichier d’un emplacement distant vers un autre emplacement distant
scp userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Il copie le fichier /host1/main.py
de l’hôte distant avec l’adresse IP 11.11.0.200
dans le répertoire host2
de l’hôte avec l’adresse IP 11.11.0.205
.
Pour acheminer le trafic à travers la machine dans laquelle la commande est émise, nous ajoutons l’option -3
à la commande scp
.
scp -3 userA@11.11.0.200:/host1/main.py userB@11.11.0.205:/host2
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticle connexe - Linux Files and Directories
- Comment copier des fichiers et des répertoires à l'aide d'un terminal Linux
- Comment créer de nouveaux répertoires sous Linux
- Comment déplacer des fichiers et des répertoires sous Linux en utilisant la commande Mv
- Comment extraire des fichiers Bzip2 à l'aide d'un terminal
- Comment renommer des fichiers et des répertoires à l'aide d'un terminal Linux
- Comment supprimer des fichiers et des répertoires dans le terminal Linux