Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP

Lors du transfert de fichiers vers un serveur Linux distant, vous avez quelques options. L'une des meilleures méthodes consiste à utiliser un programme appelé Secure Copy, ou SCP, qui s'exécute sur SSH pour transférer rapidement des fichiers sur votre réseau vers un système distant. Ce tutoriel vous montre comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP.

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Configuration de SSH

Sur votre serveur distant, vous devrez installer un serveur SSH. Le plus populaire sous Linux est le serveur OpenSSH. Pour l'installer, exécutez l'une des commandes suivantes :

# Serveur basé sur Debian/Ubuntu sudo apt install ssh # Fedora sudo dnf install openssh

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Selon votre distribution, vous devrez peut-être autoriser SSH via certains pare-feu logiciels. Dans Ubuntu, ce problème n'existe pas, mais dans Fedora Vous devrez également exécuter les commandes suivantes :

sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Connectez-vous à votre système via SSH

Avant de pouvoir vous connecter via SSH, vous devez connaître l'adresse IP du serveur distant. Sur les serveurs graphiques, l'adresse IP apparaît dans l'applet Réseau des paramètres système. Sur la plupart des serveurs, vous devez utiliser la commande ip dans le terminal.

ip addr

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Dans la sortie, recherchez la ligne qui commence par inet Sous ethX ou enpXsy , selon la façon dont votre interface réseau se connecte au système. Dans mon cas, c'est 192.168.68.108.

tester Connexion SSH , accédez à Appareil Linux/Unix différent et type :

Changement "utilisateur" à Nom d'Utilisateur le serveur réel.

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Entrer mot de passe Ce compte, et vous travaillez. Si vous avez une question sur "L'authenticité de l'hôte ne peut être prouvée." Vous n'avez qu'à répondre par "Oui". Il s'agit d'un contrôle de sécurité conçu pour s'assurer que vous êtes connecté à votre serveur réel et non à une fraude. Vous devriez voir la même invite sur le système client que vous voyez lorsque vous connectez Entrée directement au serveur, ce qui signifie que votre connexion a réussi. Vous devez également configurer les connexions SSH pour une sécurité maximale, ou même Configurer l'authentification à deux facteurs , avant de passer à l'étape suivante.

Utiliser SCP pour transférer des fichiers

Maintenant que vous avez testé la connexion SSH, commencez à copier les fichiers entre les deux appareils. La copie sécurisée est réalisée à l'aide de la commande scp. Le format de base de la commande scp est :

scp /CHEMIN/VERS/FILE UTILISATEUR@ADRESSE-IP:CHEMIN/VERS/DESIRED/DESTINATION

Par exemple, pour copier un fichier "sauvegarde.tar.gz" De la machine locale à un dossier "sauvegarde.tar.gz" dans le répertoire personnel de l'utilisateur "ramces" Sur le serveur distant avec adresse IP 192.168.68.165 , Utiliser:

scp sauvegarde.tar.gz [email protected]:~/sauvegardes/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Comme lorsque vous vous connectez en utilisant ssh, vous serez invité à entrer le mot de passe. Vous ne serez pas invité à entrer le Nom d'utilisateur, comme spécifié dans la commande.

Lisez aussi:  10 commandes Linux de base pour les débutants

Vous pouvez également utiliser des caractères génériques tels que :

scp *.tar.gz [email protected]:~/sauvegardes/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Pour copier un fichier du serveur distant vers la machine locale, il suffit d'inverser les paramètres :

scp [email protected]:~/backups/backup.tar.gz ./

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Remarquez le point à la fin de celui-ci? Ça veut dire "dossier en cours" , comme avec commandes standard cp ou etc. Vous pouvez facilement sélectionner un autre répertoire si vous le souhaitez.

scp-r [email protected]:~/sauvegardes/ sauvegardes-du-serveur/

Et pareil avec les jokers :

scp [email protected]:~/sauvegardes/*.txz ./

Pour copier récursivement un répertoire sur un serveur distant, utilisez option -r:

scp -r sauvegardes/ [email protected]:~/sauvegardes/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Pour copier une copie dupliquée d'un répertoire du serveur distant vers la machine locale, utilisez :

scp-r [email protected]:~/sauvegardes/ ./

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Compression de transfert de fichiers dans SCP

Outre la copie de base, il est également possible de modifier le comportement de SCP lors de ces transferts de fichiers. Par exemple, vous pouvez utiliser la balise -C Pour compresser les données que SCP envoie aux clients distants :

scp -C sauvegarde.tar.gz [email protected]:/home/ramces/

Cette option fonctionne en compressant chaque paquet de données lors de son envoi via SCP. En tant que tel, cela peut être extrêmement utile si vous êtes sur une connexion à bande passante limitée et que vous souhaitez envoyer un fichier de manière fiable à un serveur distant.

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Semblable aux options ci-dessus, vous pouvez également utiliser -C avec l'étiquette -r Compressez les fichiers et transférez-les de manière récursive vers une machine distante. Par exemple, la commande suivante compresse et récupère un fichier "sauvegarde.tar.gz" Depuis mon serveur distant :

scp-Cr [email protected]:/home/ramces/sauvegardes /home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Optimisez la transmission des données avec SCP

Pour la plupart, SCP essaie d'utiliser Algorithme de cryptage AES-128 pour tous ses transferts de fichiers. Cependant, il existe des cas où cet algorithme particulier ne conviendra pas aux fichiers que vous souhaitez transférer.

Sachant cela, il est possible d'améliorer et de sécuriser davantage SCP en modifiant directement l'algorithme de chiffrement pour une transmission spécifique. Pour ce faire, vous devez utiliser la balise -c suivi du code que vous souhaitez utiliser.

Par exemple, la commande suivante déplace un fichier "sauvegarde.tar.gz" à mon serveur distant en utilisant AES-256 :

scp -c aes256-ctr ./backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

De plus, il vous offre la possibilité -c Fournissez également une liste des chiffrements que vous souhaitez utiliser pour transférer un fichier particulier. Par exemple, la commande suivante utilise à la fois AES-192 و AES-256 pendant le transfert d'un fichier "sauvegarde.tar.gz" Vers mon serveur distant :

scp -c aes192-ctr, aes256-ctr ./backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Limiter l'utilisation de la bande passante dans SCP

Bien que la compression des paquets de fichiers puisse vous aider à utiliser SCP dans des conditions de réseau médiocres, elle peut également limiter la bande passante utilisée par le programme lors de la transmission. Ceci est utile dans les cas où vous utilisez une connexion limitée et ne voulez pas que SCP prenne le contrôle de la bande passante de votre réseau.

Lisez aussi:  Comment utiliser Troff pour formater des documents PDF sous Linux

Pour limiter la bande passante effective du programme, vous devez utiliser balise -l suivi du montant maximum souhaité En kilobits par seconde (Kb/s). Par exemple, l'exécution de la commande suivante déplacera un fichier "sauvegarde.tar.gz" Vers mon serveur distant avec une bande passante effective de 1600 Kb/s :

scp -l 1600 ./backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

télé à télé avec SCP

Outre la copie de fichiers locaux sur votre serveur distant et vice versa, vous pouvez également utiliser SCP pour gérer plusieurs serveurs distants à partir de votre machine locale, car SCP ne gère que les transferts de fichiers et ne fait pas de distinction entre une machine locale et une machine distante.

Pour transférer entre deux serveurs distants, vous devez mentionner explicitement le Nom d'utilisateur et l'adresse de chacune de ces machines. Par exemple, l'exécution de la commande suivante déplacera un fichier "sauvegarde à distance.tar.gz" mine entre deux serveurs distants :

scp [email protected]:/home/ramces/remote-backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Utiliser un proxy avec SCP

Par défaut, SCP utilise l'adresse IP de votre ordinateur local lorsqu'il transfère des fichiers entre différents hôtes. Bien que cela convienne parfaitement dans des situations normales, cela peut poser problème si votre réseau local restreint toute activité SCP. Un moyen rapide de résoudre ce problème consiste à faire passer votre connexion locale via un proxy SSH.

Pour ce faire, vous devez utiliser une balise -o suivi d'une option Commande proxy. Cela vous permet de créer une connexion SSH de base vers un nouvel appareil qui exécutera à son tour votre commande SCP. Par exemple, l'exécution de ce qui suit créera un nouvel agent SSH sur une machine distante et transférera un fichier "sauvegarde.tar.gz" En l'utilisant:

scp -o "Commande Proxy ssh [email protected] nc %h %p" ./backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Changer le port par défaut dans SCP

Outre la création d'un proxy SSH de base, vous pouvez également modifier le port par défaut pour SCP. Ceci est particulièrement utile si vous sécurisez un serveur Linux et que vous ne souhaitez pas exposer de ports virtuels.

Lisez aussi:  20 des meilleures distributions Linux légères pour 2021

Pour utiliser SCP avec un port différent, vous devez utiliser un indicateur -P suivi du numéro de port que vous souhaitez utiliser. Par exemple, la commande suivante copiera un répertoire "Sauvegarde" récursivement et connectez-vous au serveur distant en utilisant le port 2222:

scp -r -P 2222 ./sauvegarde [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Utiliser le mode silencieux SCP

Enfin, il est également possible de supprimer complètement toute sortie de terminal de la commande SCP. Ceci est particulièrement utile si vous souhaitez créer un script non interactif qui s'exécute dans votre terminal. Non seulement cela, mais vous pouvez également automatiser entièrement ce processus en créant Cron et transfert Clé SSH privé à votre serveur.

Pour créer un transport SCP silencieux, vous devez utiliser la balise -q. Par exemple, la commande suivante déplacera un fichier "sauvegarde.tar.gz" silencieusement à mon serveur distant :

scp -q ./backup.tar.gz [email protected]:/home/ramces/

Comment transférer des fichiers en toute sécurité sous Linux à l'aide de SCP - %categories

Foire Aux Questions

Q1. Ma télécommande pour me téléporter ne fonctionne pas dans SCP. Comment puis-je réparer cela?
réponse. Ce problème est probablement dû à un port bloqué dans l'un des fichiers de configuration de votre machine distante. Pour résoudre ce problème, assurez-vous que le port par défaut pour SSH est ouvert sur les deux appareils.

Ce problème peut également être causé par le fait que l'une de vos machines distantes se trouve derrière une connexion CG-NAT, de sorte que toute connexion externe à votre machine distante ne se résoudra pas correctement. Pour résoudre ce problème, vous devez utiliser Logiciel VLAN , مثل Yggdrasil , qui vous permettra de traverser CG-NAT.

Q2. J'ai activé le proxy SCP et l'hôte distant a fermé la connexion. Que puis-je faire?
réponse. Ce problème est probablement dû à un problème avec votre machine proxy. Pour démarrer correctement l'agent SSH, assurez-vous que la machine que vous souhaitez utiliser dispose d'un serveur OpenSSH et de netcat. Pour installer ces programmes dans Ubuntu, Exécutez la commande suivante: sudo apt installe ssh netcat.

Q3. Est-il possible de trouver tous les chiffrements disponibles pour SCP ?
réponse. Par défaut, SCP s'appuie fortement sur le protocole SSH pour ses fonctions de chiffrement. Pour cette raison, vous pouvez utiliser le script SSH pour imprimer une liste de chiffrements que vous pouvez utiliser avec SCP. Par exemple, vous pouvez exécuter chiffrements ssh -Q Imprime une courte liste de tous les chiffrements disponibles sur votre appareil.

Vous pourriez l'aimer aussi