Comment Transférer Vos Fichiers en Toute Sécurité avec SSH

Cybersécurité

Comment Transférer Vos Fichiers en Toute Sécurité avec SSH

16 janvier 2026 22 min de lecture Hanaé Aubert

Le transfert de fichiers entre machines constitue une opération quotidienne pour les développeurs, administrateurs systèmes et professionnels IT, mais celle-ci expose souvent les données à des risques considérables si elle n’est pas effectuée correctement. SSH, le protocole sécurisé par excellence, offre plusieurs méthodes éprouvées pour transférer des fichiers en toute confiance, chacune adaptée à des besoins spécifiques et des contextes d’utilisation distincts. Comprendre ces approches et maîtriser leur mise en œuvre représente une compétence essentielle pour protéger l’intégrité des données en transit et garantir des échanges fiables dans un environnement réseau.

Pour aller plus loin

Convertir audio et vidéo avec VLC sans prolonge cette lecture avec un focus sur convertir audio et vidéo avec vlc sans perdre le contrôle.

En bref
  • ✓️ SSH chiffre tous les transferts de fichiers, protégeant efficacement les données contre interceptions et attaques
  • ✓L’authentification par clé SSH renforce la sécurité et simplifie l’accès sans nécessiter de mots de passe
  • ✓SCP, SFTP et SSHFS sont trois méthodes complémentaires permettant des transferts de fichiers sécurisés et adaptés à différents besoins
  • ✓Des outils comme WinSCP facilitent les transferts sécurisés pour les utilisateurs Windows grâce à une interface graphique
  • ✓️ L’application de bonnes pratiques (utilisation de clés, changement de port, surveillance) est essentielle pour une sécurité optimale

Qu’est-ce qui rend SSH si efficace pour le transfert de fichiers sécurisé ?

Réponse directe
SSH protège le transfert de fichiers grâce à un chiffrement intégral des données durant la transmission, empêchant toute interception, et à une authentification forte basée sur des clés cryptographiques, garantissant l’intégrité et la confidentialité des échanges entre machines.

SSH, ou Secure Shell, constitue bien plus qu’un simple protocole de connexion distante. Il incarne un standard de sécurité reconnu mondialement qui chiffre l’intégralité de la communication entre deux machines, empêchant ainsi quiconque d’intercepter les données en transit. Contrairement aux protocoles antérieurs comme le FTP classique, qui transmettait les identifiants et les fichiers en clair sur le réseau, SSH garantit une protection cryptographique robuste de bout en bout.

Le fonctionnement repose sur un système d’authentification en deux couches : d’une part, l’utilisation de clés SSH (une paire composée d’une clé publique et d’une clé privée), qui offre une sécurité supérieure aux simples mots de passe, et d’autre part, un mécanisme de cryptage qui rend les données illisibles pour les tiers. Cette double protection transforme SSH en véritable rempart contre les attaques man-in-the-middle et les interceptions malveillantes.

Lorsqu’un administrateur ou un développeur établit une connexion distante via SSH, il crée en réalité un tunnel chiffré au sein duquel toute transmission devient inviolable. Ce tunnel peut être utilisé pour bien d’autres usages que la simple consultation de terminal, notamment pour le transfert de fichiers via des outils spécialisés comme SCP ou SFTP. La flexibilité d’SSH réside justement dans cette capacité à seconder d’autres protocoles, transformant des services potentiellement vulnérables en solutions sécurisées.

Les avantages de choisir SSH plutôt que d’autres méthodes

Comparé aux alternatives disponibles sur le marché, SSH présente des avantages décisifs. Le FTP classique, par exemple, demeure un protocole ouvert et sans chiffrement, ce qui le rend extrêmement risqué dans un contexte d’entreprise ou lors du traitement de données sensibles. Les services cloud propriétaires, bien que pratiques, dépendent souvent de tiers et imposent des frais d’abonnement, tandis que SSH reste un outil gratuit, universel et pré-installé sur la majorité des systèmes Unix et Linux.

L’authentification par clé SSH élimine également le besoin de mémoriser ou de partager des mots de passe complexes. Une clé privée stockée sécurisement sur la machine locale permet une authentification automatisée sans interaction manuelle, accélérant ainsi les workflows et renforçant la sécurité. De plus, SSH fonctionne sur n’importe quel port réseau, ce qui offre une flexibilité précieuse dans les environnements d’entreprise où certains ports sont bloqués par les pare-feu.

Astuce
Pour éviter d’avoir à retaper votre mot de passe à chaque transfert via SCP ou SFTP, configurez une authentification par clé SSH. Cela accélère vos workflows et renforce la sécurité de vos échanges.

SCP : la solution directe et rapide pour copier des fichiers via SSH

SCP, ou Secure Copy, représente le moyen le plus direct et intuitif pour transférer des fichiers d’une machine à une autre via SSH. Cet outil s’inspire étroitement de la commande Unix traditionnelle « cp » (copy), ce qui signifie que quiconque maîtrise cette dernière pourra adopter SCP sans effort majeur. La syntaxe reste simple, cohérente et prévisible, ce qui explique son adoption massive parmi les professionnels.

L’utilisation de SCP repose sur une structure élémentaire : la source, l’opérateur « @ » combiné avec l’adresse IP ou le nom d’hôte, le symbole « : » pour indiquer le chemin distant, et enfin la destination. Cette logique claire rend accessible le transfert de fichiers même aux utilisateurs ayant une expérience limitée en ligne de commande. Qu’il s’agisse d’envoyer un fichier vers un serveur ou de le récupérer depuis celui-ci, les principes demeurent identiques.

Envoyer un fichier vers un serveur distant avec SCP

Pour transférer un fichier local vers une machine distante, la syntaxe s’énonce simplement. En supposant que l’on souhaite envoyer le fichier « rapport.pdf » situé dans le répertoire personnel vers le dossier « /var/www/ » d’un serveur hébergé à l’adresse « 192.168.1.100 », la commande s’écrit ainsi : scp /home/utilisateur/rapport.pdf :/var/www/

Cette commande demande à SCP d’établir une connexion SSH avec le serveur, en s’authentifiant sous l’identité de l’utilisateur « admin ». Une fois la clé SSH vérifiée ou le mot de passe fourni, le fichier transite de manière chiffrée jusqu’au dossier désigné. L’avantage réside dans le fait que le chemin de destination doit obligatoirement exister sur le serveur ; dans le cas contraire, une erreur sera retournée et le transfert échouera, protégeant ainsi contre les écritures involontaires dans des emplacements inattendus.

Lorsque le serveur SSH fonctionne sur un port non-standard (par exemple le port 7256 au lieu du port par défaut 22), il suffit d’ajouter l’option -P (majuscule) avant la source et la destination pour spécifier ce port alternatif. La commande devient alors : scp -P 7256 /home/utilisateur/rapport.pdf :/var/www/

Télécharger un fichier depuis le serveur vers la machine locale

L’opération inverse s’effectue en inversant simplement l’ordre des arguments. Pour récupérer le fichier « donnees.sql » situé dans le répertoire « /var/backups/ » du serveur et le placer dans le dossier local « /home/utilisateur/archives/ », la commande s’écrit : scp :/var/backups/donnees.sql /home/utilisateur/archives/

Cette flexibilité bidirectionnelle fait de SCP un outil polyvalent : l’utilisateur peut aussi facilement envoyer que recevoir, et peut même orchestrer des transferts entre deux serveurs distants en spécifiant les deux adresses distantes plutôt qu’une seule. Imaginons un scenario où deux serveurs doivent synchroniser une base de données ; SCP permet cette opération directement depuis une machine tierce, sans nécessiter de transfert intermédaire.

Transférer des répertoires entiers avec récursivité

SCP brille particulièrement lorsqu’il s’agit de transférer des structures de dossiers complètes. L’ajout du flag -r (pour récursif) après la commande « scp » permet de copier non seulement un dossier, mais également tout son contenu, y compris les sous-dossiers et les fichiers imbriqués. Prenons l’exemple d’un projet Web contenant plusieurs dossiers : images, scripts, styles, et configurations.

Pour approfondir ce point, consultez Protégez votre identité : intégrez un filigrane, qui traite plus précisément de protégez votre identité : intégrez un filigrane à vos documents avant de les diffuser !.

La commande scp -r /home/utilisateur/projetweb :/var/www/ reproduira intégralement cette arborescence sur le serveur distant. L’avantage de la récursivité s’avère particulièrement valuable lors du déploiement d’applications ou du sauvegarde de structures complètes, car cela évite d’exécuter SCP plusieurs fois pour chaque dossier individuellement.

⚙️ Opération Syntaxe Exemple d’utilisation
Envoyer un fichier scp /chemin/local/fichier :/chemin/distant/ scp rapport.pdf :/var/www/
Télécharger un fichier scp :/chemin/distant/fichier /chemin/local/ scp :/var/backups/base.sql ./
Transfert récursif scp -r /chemin/local/dossier :/chemin/distant/ scp -r ./src :/opt/app/
Port personnalisé scp -P 2222 /chemin/local :/distant scp -P 7256 fichier :/dossier

Utiliser SCP sur Windows avec WinSCP

Les utilisateurs Windows n’ont pas accès nativement à la commande SCP en ligne de commande. Cependant, l’outil WinSCP comble cette lacune en offrant une interface graphique intuitive qui encapsule les fonctionnalités de SCP. Après installation et lancement, l’utilisateur configure les paramètres de connexion : l’adresse IP du serveur, le port SSH, le nom d’utilisateur et la clé ou le mot de passe d’authentification.

Une fois connecté, WinSCP affiche deux volets : le système de fichiers local à gauche et l’arborescence du serveur distant à droite. Le transfert devient alors aussi simple que de glisser-déposer des fichiers d’un côté à l’autre. Cette approche graphique démocratise l’accès aux transferts sécurisés pour les utilisateurs moins à l’aise avec la ligne de commande, sans sacrifier la robustesse ou la sécurité du processus.

Conseil
Lorsque vous manipulez des dossiers volumineux avec de nombreux petits fichiers, privilégiez SFTP qui gère mieux les interruptions et permet de reprendre un transfert là où il s’est arrêté.

SFTP : le protocole FTP sécurisé et enrichi pour les échanges fiables

SFTP, ou Secure File Transfer Protocol, représente une évolution majeure du protocole FTP traditionnel. Contrairement à son prédécesseur, SFTP encapsule intégralement le protocole FTP au sein d’une couche SSH, garantissant que toutes les données transitent de manière chiffrée et sécurisée. Cette approche combine la richesse fonctionnelle du FTP avec la solidité cryptographique du protocole sécurisé SSH.

La configuration d’SFTP dans OpenSSH s’effectue simplement via le fichier de configuration du serveur. La ligne « subsystem sftp /usr/lib/openssh/sftp-server » indique au démon SSH qu’il doit charger le sous-système SFTP, activant ainsi le service sans configuration supplémentaire complexe. Cette intégration native explique pourquoi SFTP demeure un choix populaire dans les environnements d’entreprise modernes.

D’un point de vue opérationnel, SFTP s’utilise de manière quasi identique à SCP. Depuis la ligne de commande Linux, la commande « sftp » établit une session interactive semblable à celle du FTP traditionnel, permettant une navigation intuitive et des opérations comme « put » pour envoyer et « get » pour télécharger. Cette familiarité rend l’apprentissage aisé pour quiconque ayant déjà manipulé le FTP classique.

Différences pratiques entre SCP et SFTP

Bien que SCP et SFTP partagent de nombreuses similitudes, certaines différences nuancées les distinguent. SCP excelle dans les scénarios simples et ponctuels : transférer un fichier une seule fois, sans interaction répétée. SFTP brille davantage quand l’utilisateur doit naviguer, explorer l’arborescence distante et effectuer plusieurs opérations consécutives. La session SFTP interactive rappelle l’expérience du FTP, avec des commandes comme « ls » pour lister, « cd » pour naviguer, et « mkdir » pour créer des répertoires.

En termes de performance pure, les deux outils offrent sensiblement les mêmes débits. Cependant, SFTP dispose de fonctionnalités additionnelles : la suppression distante de fichiers, le changement de permissions, la lecture des attributs, et la reprise de transferts interrompus. Ces capacités le rendent plus adapté aux tâches d’administration système complexes ou aux workflows automatisés exigeant un contrôle granulaire.

Configurer et utiliser SFTP depuis le terminal

Pour établir une session SFTP interactive, l’utilisateur saisit simplement : sftp ou sftp -P 2222 si le serveur SSH écoute sur un port alternatif. Le système demande ensuite l’authentification, puis affiche une invite SFTP caractérisée par le symbole « sftp> ».

À partir de ce point, les commandes disponibles incluent :

  • 📋 ls : lister le contenu du répertoire distant actuel
  • 🔄 cd /chemin : naviguer dans les répertoires du serveur
  • ⬆️ put fichier.txt : envoyer un fichier local vers le serveur
  • ⬇️ get fichier.txt : télécharger un fichier du serveur vers la machine locale
  • 🗂️ mkdir dossier : créer un répertoire sur le serveur
  • 🗑️ rm fichier : supprimer un fichier distant
  • ⚙️ chmod 755 fichier : modifier les permissions d’un fichier distant
  • ❌ exit : quitter la session SFTP

Cette approche interactive offre une flexibilité remarquable : l’utilisateur peut basculer entre répertoires locaux et distants, explorer les structures avant de transférer, et ajuster les opérations à la volée selon les besoins. Pour les utilisateurs Windows, WinSCP accepte également SFTP comme protocole de fichier et fonctionne identiquement à la version SCP, garantissant une expérience cohérente multiplateforme.

Astuce
Avec SSHFS, vous pouvez éditer en direct des fichiers distants avec votre éditeur préféré, comme VS Code, sans avoir à copier les fichiers localement.

SSHFS : monter des répertoires distants comme des disques locaux

SSHFS, ou SSH FileSystem, introduit un paradigme radicalement différent par rapport aux transferts ponctuels de SCP ou SFTP. Plutôt que de copier des fichiers d’une machine à l’autre, SSHFS monte un répertoire distant directement dans l’arborescence locale, le rendant accessible comme s’il s’agissait d’un disque dur physique ou d’une partition locale. Cette approche transforme les workflows en éliminant le besoin de transférer manuellement les fichiers à chaque modification.

Imaginons un scénario courant : un développeur doit travailler sur des fichiers stockés sur un serveur distant. Avec SSHFS, au lieu de télécharger les fichiers, les modifier localement, puis les renvoyer, le développeur peut ouvrir directement l’éditeur de code sur le répertoire monté. Les modifications s’effectuent en direct sur le serveur, via le tunnel SSH chiffré, sans passage intermédiaire. Cette transparence rend SSHFS invaluable pour les environnements collaboratifs ou le déploiement continu.

Le fonctionnement repose sur le protocole SFTP en arrière-plan et sur le système de fichiers FUSE (Filesystem in Userspace), qui permet aux applications utilisateur de créer des systèmes de fichiers virtuels. L’installation s’effectue rapidement : sous Debian/Ubuntu, la commande apt-get install sshfs suffit, tandis que sous CentOS, yum install fuse-sshfs après activation du dépôt EPEL accomplir la même tâche.

Monter un répertoire distant et y accéder en temps réel

Le montage s’effectue en trois étapes simples. D’abord, créer le point de montage local : mkdir /mnt/distant. Ensuite, exécuter la commande de montage : sshfs :/home/utilisateur/donnees /mnt/distant. Une fois validé, le répertoire /home/utilisateur/donnees du serveur devient accessible via le chemin local /mnt/distant.

À partir de ce moment, naviguer et manipuler les fichiers s’effectue exactement comme sur un système de fichiers local. L’explorateur de fichiers affiche le contenu, les éditeurs peuvent ouvrir et sauvegarder les fichiers, et les scripts peuvent traiter les données sans connaître la nature distante de leur source. Le chiffrement SSH, transparent pour l’utilisateur, garantit que toutes ces opérations demeurent sécurisées.

Pour approfondir ce point, consultez SPF DKIM DMARC, qui traite plus précisément de spf, dkim et dmarc pour sécuriser vos emails professionnels.

Avantages et limitations de SSHFS comparé aux transferts classiques

SSHFS offre des bénéfices considérables dans certains contextes. L’absence de synchronisation manuelle accélère les workflows et réduit les erreurs résultant d’oublis ou de malversions. La collaboration devient plus fluide : plusieurs développeurs peuvent travailler simultanément sur le même répertoire monté, voyant les changements en direct. L’accessibilité directe élimine aussi les problèmes de permission ou de propriété de fichiers souvent rencontrés avec les transferts répétés.

Cependant, SSHFS présente des limitations. Les performances demeurent inférieures à un système de fichiers local, particulièrement sur des connexions réseau latentes. Les opérations massives (lire des milliers de petits fichiers, par exemple) peuvent devenir lentes. SSHFS convient mieux aux échanges interactifs et légers qu’aux transferts de données volumineuses. Pour ces derniers, SCP ou SFTP avec transferts par lot s’avère plus efficace.

Démonter et nettoyer après utilisation

Une fois les travaux terminés, il importe de démonter proprement le système de fichiers pour libérer les ressources et éviter les blocages. La commande umount /mnt/distant accomplish cette tâche. Cette opération interrompt le tunnel SSH mais ne supprime aucune donnée : toutes les modifications effectuées durant le montage restent enregistrées sur le serveur distant.

Vérifier le succès du démontage s’effectue en exécutant simplement la commande mount, qui liste tous les points de montage actifs. Si le montage SSHFS n’apparaît plus, le démontage a réussi. Dans les rares cas où un fichier reste ouvert ou verrouilé, utiliser fusermount -u /mnt/distant forcera le démontage même en présence de processus actifs.

Astuce
Après avoir modifié le port SSH, pensez à mettre à jour vos commandes SCP, SFTP ou SSHFS avec le bon numéro de port en utilisant l’option -P pour éviter les erreurs de connexion.
Transférer vos fichiers avec SSH assure non seulement la confidentialité mais également l’authenticité de chaque échange. Grâce à des outils comme SCP, SFTP ou SSHFS, il est possible d’adapter la méthode de transfert à chaque besoin, qu’il s’agisse de copier ponctuellement un fichier ou de monter un dossier distant. Cette flexibilité fait de SSH un protocole sécurisé incontournable pour les professionnels IT.
Transférer vos fichiers avec SSH assure non seulement la confidentialité mais également l’authenticité de chaque échange

Bonnes pratiques essentielles pour sécuriser les transferts via SSH

Bien que SSH fournisse un fondement solide de sécurité, certaines pratiques consolidées renforcent encore davantage la protection des données en transit. La première considération concerne les clés SSH : plutôt que de s’appuyer sur des mots de passe, l’authentification par clé publique/privée offre une résistance supérieure aux attaques par force brute. Générer une paire de clés s’effectue via ssh-keygen -t rsa -b 4096, créant une clé privée (à conserver jalousement) et une clé publique (à distribuer aux serveurs autorisés).

La gestion des permissions revêt une importance capitale. La clé privée doit posséder des permissions restrictives (600, soit lisible et modifiable uniquement par le propriétaire). Le répertoire .ssh contenant ces clés doit aussi être protégé (permissions 700). Sur les serveurs, le fichier authorized_keys (qui liste les clés publiques autorisées) doit aussi respecter les permissions 600, empêchant ainsi d’autres utilisateurs de le modifier et de compromettre la sécurité.

Configurer les clés SSH et éliminer les authentifications par mot de passe

Après génération de la paire de clés, l’étape suivante consiste à copier la clé publique sur les serveurs distants. La commande ssh-copy-id -i ~/.ssh/id_rsa.pub automatise ce processus en annexant la clé publique au fichier authorized_keys du serveur. Une fois cette étape accomplie, l’utilisateur peut établir des connexions SSH sans fournir de mot de passe.

Pour renforcer la sécurité, désactiver complètement l’authentification par mot de passe sur le serveur SSH. Cela s’effectue en modifiant le fichier de configuration /etc/ssh/sshd_config, en changeant la ligne PasswordAuthentication yes en PasswordAuthentication no et en redémarrant le service SSH. Cette configuration force l’utilisation exclusive des clés SSH, éliminant les vecteurs d’attaque liés aux mots de passe faibles ou compromis.

Changer le port SSH et restreindre les adresses source

Beaucoup de serveurs SSH écoutent par défaut sur le port 22, ce qui en fait une cible identifiée pour les scripts d’attaque automatisés. Modifier le port en quelque chose de moins évident (par exemple 7256) réduit le bruit des tentatives de connexion non autorisées. Cette modification s’effectue dans /etc/ssh/sshd_config en changeant Port 22 en Port 7256.

Complémenter cette mesure par une restriction basée sur les adresses IP source élève la sécurité à un niveau supérieur. Utiliser un pare-feu applicatif ou modifier les règles du fichier /etc/ssh/sshd_config pour inclure AllowUsers ou des clauses ListenAddress restreint l’accès à des origines spécifiques et connues. Cette approche par liste blanche transforme SSH en service accessible uniquement par les entités autorisées.

Surveiller les tentatives de connexion et mettre en place des alertes

Mettre en œuvre une surveillance active des connexions SSH complète l’arsenal défensif. Les fichiers journaux système, particulièrement /var/log/auth.log sous Debian ou /var/log/secure sous CentOS, enregistrent chaque tentative de connexion. Examiner régulièrement ces journaux permet d’identifier les patterns suspects : multiples échecs consécutifs, connexions depuis des adresses inhabituelles, ou activités à des heures anormales.

Automatiser cette surveillance via des outils comme fail2ban élève la détection au niveau proactif. Fail2ban analyse les journaux en temps réel et bannit automatiquement les adresses IP affichant un comportement agressif, après un nombre défini de tentatives échouées. Cette approche prévient les attaques par force brute avant qu’elles ne posent réellement problème, tout en documentant les incidents pour audit ultérieur.

🔒 Mesure de sécurité Impact Complexité de mise en œuvre
Authentification par clé SSH Élevé – élimine les risques de mots de passe faibles Faible – configuration rapide et intuitive
Désactiver PasswordAuthentication Élevé – force l’utilisation exclusive des clés Faible – modification d’un fichier de configuration
Modifier le port par défaut Moyen – réduit les attaques automatisées Très faible – changement d’une seule ligne
Restrictions IP via firewall Très élevé – accès exclusif aux origines autorisées Moyen – nécessite planification réseau
Surveillance avec fail2ban Moyen-élevé – détection et réaction automatiques Moyen – installation et configuration requises

Utiliser des paraphrases sur les clés SSH pour protection supplémentaire

Lors de la génération de clés SSH, ssh-keygen propose d’établir une paraphrase (passphrase) protégeant la clé privée. Bien que cela ajoute une étape d’authentification supplémentaire à chaque utilisation, cette couche protège efficacement contre le vol de la clé privée par un attaquant ayant accès physique au disque. Pour les environnements critiques, cette précaution additionnelle s’avère justifiée.

En contrepartie, l’automatisation des scripts d’administration devient plus complexe si les clés possèdent des paraphrases. Les solutions résidentes comme ssh-agent offrent un bon compromis : l’agent mémorise la clé en mémoire après déverrouillage initial, permettant à d’autres processus d’utiliser la clé sans redemander la paraphrase. Cette approche préserve la sécurité tout en maintenant l’automatisation viable.

La robustesse d’une authentification SSH repose finalement sur l’équilibre entre sécurité et praticité. Une clé SSH sans paraphrase, stockée sur un serveur de déploiement automatisé, offre un bon équilibre : elle évite les mots de passe tout en permettant l’automatisation. Inversement, sur une machine personnelle rarement utilisée, une paraphrase peut apporter une protection additionnelle justifiable malgré la complexité accrue.

Maîtriser le transfert de fichiers via SSH et appliquer ces bonnes pratiques transforme une opération basique en processus robuste et défendable. Que l’on choisisse SCP pour sa simplicité, SFTP pour sa flexibilité, ou SSHFS pour son accessibilité, la fondation SSH assure que les données transitent en toute sécurité. Les organisations qui intègrent systématiquement ces approches dans leurs processus opérationnels établissent un échelon significatif dans leur posture de sécurité globale, protégeant ainsi leurs actifs numériques contre les menaces évolutives du paysage informatique contemporain.

Pour approfondir ce point, consultez scp commande linux, qui traite plus précisément de commande scp linux pour transférer des fichiers en sécurité.

Hanaé Aubert
À propos de l'auteur Hanaé Aubert

Hanaé Aubert accompagne les entreprises sur leurs enjeux numériques. Ses contenus visent un public professionnel qui cherche des repères concrets pour arbitrer ses choix…

À lire aussi

À lire ensuite

Poursuivez avec les guides du site

Poursuivez avec les guides du site

Les guides complètent cet article avec une lecture plus structurée, des cas concrets et les points de vigilance à garder en tête.