Protocole SSH : Qu'est-ce que c'est ? Comment fonctionne-t-il ?

by Nataliya Oteir
Protocole SSH : Qu'est-ce que c'est ? Comment fonctionne-t-il ?
star 5
0
Lire 8 min.

SSH est largement utilisé pour gérer l'infrastructure du réseau, transférer des fichiers et lancer des commandes à distance. Dans cet article, nous expliquerons ce qu'est le protocole SSH, comment il fonctionne et pourquoi il est important.

Qu'est-ce que SSH ?

SSH signifie Secure Shell, ce qui signifie qu'il fournit un shell (une interface de ligne de commande) sécurisé (crypté et authentifié). SSH peut également faire d'autres choses, comme envoyer des fichiers, exécuter des programmes ou modifier les paramètres d'un autre ordinateur.

Secure Shell est un ensemble de règles qui indique aux ordinateurs comment communiquer entre eux de manière sécurisée. Il se compose de trois éléments principaux : la couche de transport, la couche d'authentification de l'utilisateur et la couche de connexion. La partie transport garantit que les ordinateurs peuvent se faire confiance et que personne ne peut les espionner ou modifier leurs messages. La partie utilisateur garantit que seule la bonne personne peut accéder à l'autre ordinateur. La couche connexion garantit que les ordinateurs peuvent faire différentes choses en même temps, comme taper des commandes, envoyer des fichiers ou ouvrir des programmes.

Le protocole SSH protège contre diverses attaques, telles que l'écoute, la falsification, l'usurpation d'identité ou les attaques de type "man-in-the-middle". Secure Shell permet également aux utilisateurs d'effectuer diverses tâches à distance sans exposer leurs mots de passe ou leurs données à des pirates ou à des acteurs malveillants.

Il permet de transférer n'importe quel type de données sur un canal crypté, à condition que le client et le serveur prennent en charge le même protocole. Par exemple, SSH peut transférer des fichiers texte, binaires, audio, vidéo ou image à l'aide de SCP ou SFTP. Vous pouvez également envoyer d'autres types de données, comme des graphiques, des ports TCP/IP ou des sockets en utilisant la redirection de port ou le tunneling.

L'une des fonctions les plus utiles de SSH est sa capacité à créer des tunnels ou des proxys. Cette fonction permet aux utilisateurs de transférer ou de rediriger le trafic réseau d'un port ou d'une adresse vers un autre port ou une autre adresse via Secure Shell. Cela peut être utile pour contourner les pare-feu, accéder à des ressources restreintes, crypter des protocoles non sécurisés ou dissimuler l'activité du réseau.

Quel est l'historique du protocole SSH ?

Le protocole de connexion sécurisée a été créé en 1995 par l'informaticien finlandais Tatu Ylönen. Il voulait trouver un meilleur moyen de se connecter à d'autres ordinateurs que les anciennes méthodes, qui n'étaient pas sécurisées et pouvaient être facilement piratées. Il a publié la première version de SSH (SSH-1) en tant que logiciel libre sous une licence open-source. Plus tard, il a créé une société chargée de développer et de commercialiser des produits SSH.

Le SSH a d'abord été appelé Secure Remote Login (SRL), mais il a été remplacé par Secure Shell (SSH) parce que SRL était déjà utilisé par un autre programme. Un autre fait amusant est que SSH a été inspiré par un film de James Bond intitulé GoldenEye, dans lequel un pirate informatique utilise un outil similaire pour s'introduire dans un système de contrôle de satellites.

En 1996, un groupe de développeurs dirigé par Björn Grönvall a commencé à travailler sur une implémentation libre de SSH appelée OpenSSH, basée sur le code source d'une version antérieure de Secure Shell. OpenSSH a été publié en 1999 dans le cadre du système d'exploitation OpenBSD et est rapidement devenu l'implémentation la plus populaire de SSH. OpenSSH a ajouté de nombreuses fonctionnalités et améliorations à SSH, telles que la prise en charge de SSH-2 (une version révisée du protocole avec une sécurité et des fonctionnalités améliorées), le transfert X11, le transfert d'agent et la prise en charge d'IPv6.

En 2006, l'IETF (Internet Engineering Task Force) a publié une série de RFC qui ont normalisé le protocole Secure Shell en tant que norme Internet. Les RFC couvrent le protocole de base, le protocole de la couche transport, le protocole d'authentification de l'utilisateur, le protocole de connexion et diverses extensions et algorithmes.

Comment fonctionne SSH ?

Laconnexion à distance cryptée fonctionne avec deux ordinateurs : un client et un serveur. Le client est l'ordinateur que vous utilisez pour vous connecter au serveur. Le serveur est l'ordinateur sur lequel vous souhaitez effectuer des opérations. Le client et le serveur utilisent un programme spécial appelé SSH pour communiquer entre eux.

La première étape consiste à démarrer la connexion en indiquant au client le serveur auquel vous souhaitez vous connecter. Vous pouvez le faire en tapant quelque chose comme ceci dans votre terminal :

ssh nom_utilisateur@adresse_ip

Cela signifie que vous utilisez Secure Shell pour vous connecter au serveur avec cette adresse IP (un numéro qui identifie un ordinateur sur l'internet) en utilisant ce nom d'utilisateur (un nom qui identifie un utilisateur sur l'ordinateur).

La deuxième étape consiste à vérifier si vous pouvez faire confiance au serveur en utilisant la cryptographie à clé publique. Il s'agit d'une façon d'utiliser les mathématiques pour créer des codes secrets que seules deux personnes peuvent comprendre. Le serveur dispose de deux codes : une clé publique et une clé privée. La clé publique est comme une serrure ouverte que tout le monde peut voir. La clé privée est comme une clé secrète que seul le serveur possède. Le serveur envoie sa clé publique au client, qui vérifie si elle correspond à une clé de confiance stockée sur votre ordinateur ou donnée par une personne de confiance. Si la clé est fiable, vous pouvez continuer. Dans le cas contraire, vous pouvez arrêter ou accepter la clé après avoir vérifié son empreinte digitale (un code court qui l'identifie).

La troisième étape consiste à prouver votre identité au serveur en utilisant l'authentification de l'utilisateur. Il s'agit de montrer que vous êtes autorisé à accéder au serveur. Il existe différentes manières de procéder, telles que les mots de passe, les clés publiques ou les certificats. Les plus courantes sont les mots de passe et les clés publiques. L'authentification par mot de passe est simple mais peu sûre. Elle consiste à saisir votre mot de passe dans votre client et à l'envoyer au serveur par le biais d'une connexion secrète. Le serveur vérifie s'il correspond au mot de passe enregistré pour votre nom d'utilisateur.

L'authentification par clé publique est plus sûre mais nécessite davantage de configuration. Elle implique l'utilisation d'une autre paire de codes : une clé privée et une clé publique. La clé privée est comme une clé secrète que vous gardez avec votre client et que vous ne partagez jamais avec personne. La clé publique est comme une serrure ouverte que vous partagez avec le serveur avant de vous connecter. Vous pouvez créer ces clés à l'aide d'un outil comme ssh-keygen et les copier sur le serveur à l'aide d'un outil comme ssh-copy-id. Le serveur stocke votre clé publique dans un fichier appelé authorized_keys dans votre dossier personnel (où vous conservez vos fichiers sur le serveur). Lors de la connexion avec l'authentification par clé publique, votre client crée un message secret avec votre clé privée et l'envoie au serveur, qui le vérifie avec votre clé publique.

Une fois l'authentification de l'utilisateur réussie, le client peut demander un ou plusieurs services au serveur en utilisant différents canaux à l'intérieur du tunnel crypté. Le service le plus courant est l'accès au shell, qui permet à l'utilisateur d'exécuter des commandes sur le serveur distant. Un autre service courant est le transfert de fichiers, qui permet à l'utilisateur de copier des fichiers entre le système local et le système distant à l'aide de protocoles tels que SCP (Secure Copy Protocol) ou SFTP (SSH File Transfer Protocol). SCP est un protocole ancien qui utilise Secure Shell pour transférer des fichiers en toute sécurité, mais il présente certaines limites et certains inconvénients. SFTP est un protocole plus moderne et plus souple qui offre des fonctions d'accès, de transfert et de gestion de fichiers par l'intermédiaire de SSH.

Quelles sont les utilisations courantes du protocole SSH ?

Le protocole Secure Socket Shell est couramment utilisé à diverses fins, notamment pour

  • Fournir aux utilisateurs et aux processus automatisés un accès sécurisé aux systèmes distants
  • Transférer des fichiers en toute sécurité entre des systèmes locaux et distants
  • Exécuter des commandes à distance sur des systèmes distants
  • la gestion de l'infrastructure du réseau et d'autres composants critiques du système
  • le tunnelage d'autres protocoles ou applications
  • Proxyer le trafic réseau

Conclusion

Secure Shell est un outil puissant et polyvalent qui permet de se connecter à distance de manière sécurisée, de transférer des fichiers et d'exécuter des commandes sur des réseaux non sécurisés. Il utilise la cryptographie à clé publique et le cryptage symétrique pour assurer l'authentification du serveur, l'authentification de l'utilisateur, la confidentialité et l'intégrité. SSH vous permet également de faire différentes choses sur l'autre ordinateur, comme taper des commandes, envoyer des fichiers ou ouvrir des programmes. Le protocole de connexion sécurisée est très important pour tout utilisateur ou administrateur Linux / Windows qui souhaite travailler avec des systèmes distants de manière sûre et efficace.

Nouveaux postes

VAT

  • Other

    Other

    0%
  • austria

    Austria

    20%
  • Belgium

    Belgium

    21%
  • Bulgaria

    Bulgaria

    20%
  • Croatia

    Croatia

    25%
  • Cyprus

    Cyprus

    19%
  • Czech Republic

    Czech Republic

    21%
  • Denmark

    Denmark

    25%
  • Estonia

    Estonia

    22%
  • France

    France

    20%
  • Finland

    Finland

    24%
  • Germany

    Germany

    19%
  • Greece

    Greece

    24%
  • Hungary

    Hungary

    27%
  • Ireland

    Ireland

    23%
  • Italy

    Italy

    22%
  • Latvia

    Latvia

    21%
  • Lithuania

    Lithuania

    21%
  • Luxembourg

    Luxembourg

    17%
  • Malta

    Malta

    18%
  • Netherlands

    Netherlands

    21%
  • Poland

    Poland

    23%
  • Portugal

    Portugal

    23%
  • Romania

    Romania

    19%
  • Slovakia

    Slovakia

    20%
  • Slovenia

    Slovenia

    %
  • Spain

    Spain

    21%
  • Sweden

    Sweden

    25%
  • USA

    USA

    0%
european
states
  • Other
  • canada
  • poland
  • european-union
  • france
  • germany
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria
  • austria