Protocole Secure Shell (SSH) : le chiffrement sur les réseaux non sécurisés

Secure Shell (SSH) vous permet d’établir une connexion entre deux ordinateurs sur des réseaux non sécurisés. Voici comment fonctionne SSH et comment il se compare à d’autres méthodes.

Oct 13, 2023
7 minute read
Lock and SSH inscription on a background of IP values and a data center.

Image: Funtap/Adobe Stock

Enterprise Networking Planet content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Secure Shell (SSH) est un protocole réseau largement utilisé qui permet aux utilisateurs d’accéder en toute sécurité à des serveurs distants sur des réseaux non sécurisés. SSH crée une connexion cryptographiquement sécurisée entre un serveur et un client afin de garantir que les communications ultérieures sont chiffrées et n’ont pas été altérées. Il est couramment utilisé dans divers systèmes d’exploitation, notamment Linux, Unix et macOS.

SSH a été initialement développé en 1995 pour remplacer des protocoles comme Rlogin et Telnet, qui présentaient plusieurs failles de sécurité. SSH1 fournissait aux utilisateurs un accès chiffré aux systèmes distants. Il intégrait des fonctionnalités comme le chiffrement symétrique et permettait la redirection de ports.

Il présentait néanmoins de nombreuses failles de sécurité qui le rendaient vulnérable aux cyberattaques. Cela a conduit au développement de SSH2. Le protocole SSH2, lancé en 2006 et toujours utilisé aujourd’hui, intègre des mesures de sécurité supplémentaires, comme l’échange de clés Diffie–Hellman et les codes d’authentification de message (MAC).

Avec SSH, les utilisateurs peuvent transférer des fichiers en toute sécurité, gérer des infrastructures réseau, accéder à distance à des applications et des appareils, et exécuter des commandes. Grâce à sa capacité à authentifier et à chiffrer les sessions, SSH offre une protection robuste contre les cyberattaques et le vol d’informations.

Comment fonctionne le protocole Secure Shell ?

Le protocole SSH repose sur une architecture client-serveur au sein d’un réseau. Les communications s’effectuent par l’intermédiaire de shells, comme les terminaux Linux. Les clients utilisent une forme de la commande suivante pour se connecter à des serveurs distants :

ssh UserName@SSHserver.example.com

Pour authentifier et valider le processus, SSH utilise le mécanisme d’échange de clés Diffie–Hellman fondé sur des clés publiques et privées afin d’accéder aux données en toute sécurité. Lorsqu’un client tente de se connecter à un serveur pour la première fois, le serveur lui demande de prouver son identité. Le client doit alors fournir des identifiants valides pour confirmer son identité. Si le client fournit des identifiants incorrects, l’authentification est refusée.

Advertisement

Infographic showcasing how secure shell works:

Client issues command > Server requests validation > Decryption fails OR Decryption succeeds > Server executes command.

Le serveur chiffre un message de défi à l’aide de la clé publique et attend la réponse du client. Si le client peut déchiffrer le message de défi avec la clé privée correspondante, son authenticité est vérifiée et la communication entre les deux est autorisée.

Il est important de noter que la clé privée n’est accessible qu’à l’utilisateur et doit toujours être conservée en lieu sûr. L’exposition de la clé privée peut permettre à des personnes non autorisées d’accéder à des systèmes critiques. À l’inverse, la clé publique est utilisée à la fois par le client et le serveur distant, ce qui en fait un élément essentiel du processus de communication entre les deux.

Tunneling SSH

Imaginons qu’un serveur doive accéder à des données sur votre port local, qui est inaccessible. Comment contourner les pare-feu et garantir que les données ne seront pas volées en transit lorsqu’elles traversent l’Internet public ?

Le tunneling réseau est le processus qui consiste à autoriser des connexions bidirectionnelles entre un port local (c’est-à-dire le port de destination sur votre propre ordinateur) et un port distant par l’intermédiaire d’un tunnel sécurisé. Les tunnels SSH utilisent des algorithmes de hachage et un chiffrement symétrique pour chiffrer les données, assurant ainsi leur sécurité pendant leur transmission.

En termes simples, le tunneling SSH permet d’établir une nouvelle connexion entre votre ordinateur local et le serveur distant par l’intermédiaire d’une connexion SSH déjà établie entre le client et le serveur. Le tunneling SSH est privilégié par les entreprises pour sa simplicité d’utilisation et sa capacité à contourner les pare-feu.

Quelles sont les principales utilisations de SSH ?

Les connexions SSH sont principalement utilisées pour :

  • Transférer des ressources en toute sécurité sur des voies non sécurisées.
  • Garantir un accès sécurisé aux données et processus de l’entreprise.
  • Exécuter des commandes à distance.
  • Rediriger des ports.
  • Exécuter une redirection X11.
  • Gérer les systèmes d’exploitation et les routeurs.
  • Transférer des fichiers entre ordinateurs.
Advertisement

Quel est le niveau de sécurité de SSH ?

SSH est généralement considéré comme l’une des méthodes de chiffrement les plus sûres actuellement disponibles. Il est aujourd’hui utilisé sur près de la moitié des serveurs dans le monde et sur presque tous les ordinateurs Linux.

Les clés SSH chiffrent le trafic entre le client et le serveur, empêchant les acteurs malveillants de l’intercepter et de le déchiffrer. Cependant, la multiplication des clés SSH au sein des organisations les expose à des cybercriminels, qui peuvent exploiter ces clés SSH laissées sans surveillance et souvent oubliées pour obtenir un accès privilégié aux réseaux. Cela peut causer des dommages considérables à l’organisation et à ses parties prenantes.

SSH peut également être vulnérable à des attaques, comme les tentatives par force brute visant à deviner des mots de passe ou des noms d’utilisateur. Une menace importante pour SSH vient des pirates qui exploitent les clés SSH afin d’obtenir un accès root au serveur et d’y installer des logiciels malveillants. Bien que cela n’ait pas été confirmé, il a été suggéré qu’Edward Snowden avaitexploité avec succès des clés SSH pour s’introduire dans la National Security Agency (NSA) en 2013.

La mise en place de l’authentification multifacteur (MFA), l’utilisation de pare-feu, la modification des options par défaut, la suppression des clés non suivies ou orphelines et la rotation fréquente des clés font partie des moyens de sécuriser SSH.

Quel port est utilisé pour les connexions Secure Shell ?

Le port 22 est le port utilisé par défaut pour le protocole SSH. Lorsqu’un client SSH souhaite se connecter à un serveur SSH, il envoie une demande de communication au serveur sur le port 22. Une fois la connexion établie, le serveur et le client échangent des clés cryptographiques, qui servent à créer un canal de communication sécurisé et chiffré entre les deux.

Bien que le port 22 soit le port par défaut, SSH peut fonctionner sur d’autres ports. Pour modifier le numéro de port SSH, localisez le fichier de configuration du serveur SSH et remplacez le numéro de port par celui de votre choix.

Advertisement

Comparaison de SSH avec d’autres protocoles

SSH ou Telnet

Telnet est un protocole réseau développé en 1969 qui permet aux utilisateurs d’accéder à des serveurs distants. Au fil du temps, SSH a largement remplacé Telnet en raison de sa sécurité nettement supérieure.

  • L’une des principales différences entre Telnet et SSH est que Telnet transmet les données en clair, tandis que SSH les chiffre, ce qui le rend nettement plus sûr.
  • SSH utilise par défaut le port 22, mais vous pouvez modifier le numéro de port. Telnet utilise le port 23 et est conçu pour fonctionner avec des réseaux locaux.
  • SSH utilise le chiffrement à clé publique à des fins d’authentification. Telnet n’accorde aucun privilège d’authentification à ses utilisateurs.
  • SSH est privilégié sur les réseaux publics. En revanche, en raison des problèmes de sécurité, Telnet est plus adapté aux réseaux privés.

SSH ou SSL et TLS

À l’instar de SSH, TLS (Transport Layer Security) et SSL (Secure Sockets Layer) sont deux protocoles cryptographiques qui sécurisent les données transmises sur Internet. Comme SSH, ces deux protocoles chiffrent les données et authentifient la connexion. Cependant, SSL présente un nombre important de vulnérabilités de sécurité et est obsolète. TLS est désormais largement utilisé pour remplacer SSL grâce à ses fonctionnalités de sécurité améliorées.

Bien que SSH et TLS partagent certaines fonctionnalités, ils diffèrent sur les aspects suivants :


Protocole SSHProtocole TLS
Méthode d’authentificationMots de passe et clés privées-publiquesSignatures numériques
Port par défautPort 22Port 443
Type de protocoleProtocole distantProtocole de sécurité
FormatTunnels réseauCertificats numériques
Advertisement

Commandes SSH courantes

La commande ssh permet de se connecter en toute sécurité à des systèmes distants. La commande SSH la plus élémentaire est ssh user@host, où « user » correspond au nom d’utilisateur ou au client, et « host » à l’adresse ou au serveur de la machine distante.

Voici quelques commandes SSH courantes :

Commande cd

La commande cd (change directory) permet de naviguer entre les répertoires.

cd [name of the directory]

Si la structure des répertoires est imbriquée, il faut fournir le chemin complet du répertoire pour atteindre un répertoire donné. Exemple :

cd HomeDirectory/Level1Directory/Level2Directory

La commande ci-dessus vous amène alors à Level2Directory.

Commande mkdir

La commande mkdir (make directory) permet de créer un répertoire. La syntaxe d’une commande mkdir est la suivante :

mkdir [folder name]

Commande touch

La commande touch permet de créer un nouveau fichier. La syntaxe de la commande touch est la suivante :

touch [file name]

Commande rm

La commande rm (remove) permet de supprimer un fichier. La syntaxe de la commande remove est la suivante :

rm [file name]

Commande cp

La commande cp (copy) permet de copier un fichier. La syntaxe de la commande copy est la suivante :

cp [source file name] [destination file name]

En résumé : le chiffrement SSH sécurise les communications sur les réseaux d’entreprise

SSH a remplacé avec succès d’anciens protocoles réseau comme rsh, Telnet et FTP, qui transféraient les informations en clair. En utilisant SSH, vous pouvez avoir la certitude que chaque communication entre votre appareil et le serveur est sécurisée et chiffrée. Par conséquent, l’utilisation du protocole SSH constitue une approche efficace pour protéger la sécurité du réseau, notamment face aux menaces constantes de cybersécurité.

Advertisement

Nous avons soigneusement analysé et sélectionné les meilleurs logiciels de chiffrement pour renforcer la sécurité de vos données en transit et protéger vos communications critiques.

Susnigdha Tripathy

Susnigdha Tripathy is a full-time writer and editor based in Singapore, and a regular contributor to Enterprise Networking Planet. She has over 10 years of experience writing, editing, and delivering exceptional content for a variety of international technology brands such as Virtasant, a cloud technology company, and Krista Software, a provider of intelligent automation solutions. She has also appeared in ServerWatch and other industry publications.

Enterprise Networking Planet Logo

Enterprise Networking Planet aims to educate and assist IT administrators in building strong network infrastructures for their enterprise companies. Enterprise Networking Planet contributors write about relevant and useful topics on the cutting edge of enterprise networking based on years of personal experience in the field.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.