Secure Shell (SSH) est un protocole de réseau cryptographique qui permet une communication sécurisée sur un réseau non sécurisé. Le protocole a été développé pour remplacer les anciens protocoles non sécurisés, augmentant la sécurité et la confidentialité sur tous les systèmes d'exploitation.
Alors, qu'est-ce que SSH ?
SSH signifie Secure Shell et est également connu sous le nom de Secure Socket Shell.
SSH est un protocole de communication réseau sécurisé. Le protocole est principalement utilisé par les administrateurs réseau pour se connecter à des appareils distants en toute sécurité, mais SSH dispose de toute une série de fonctionnalités communes.
Avant le développement de SSH, les utilisateurs et les administrateurs utilisaient des protocoles réseau non sécurisés, tels que Telnet, pour communiquer avec des appareils distants. Ces protocoles désormais obsolètes envoient des informations critiques telles que les mots de passe et les informations de connexion en clair, ce qui en fait une cible facile pour un attaquant.
SSH communique généralement sur le port 22.
Il existe "deux" versions de SSH. Nous disons "deux" car entre ces deux versions, il y a eu de nombreuses implémentations et mises à jour menant de SSH1 à SSH2.
Comme vous vous en doutez, SSH2 est le protocole le plus sécurisé. Il offre une meilleure protection contre les attaquants et les écoutes clandestines, prend en charge des algorithmes de chiffrement plus puissants et apporte de nombreuses améliorations générales par rapport au protocole SSH d'origine.
OpenSSH est une implémentation open source largement utilisée de SSH. La version originale gratuite de SSH a été développée par Tatu Ylönen. Les versions ultérieures du travail d'Ylönen étaient propriétaires, ce qui signifie qu'elles coûtaient de l'argent pour la licence et l'utilisation, et vous ne pouviez pas apporter de modifications non autorisées au protocole.
Ainsi, une équipe de développeurs a créé la version gratuite originale de SSH et l'a nommée OpenSSH, qui est maintenant développée dans le cadre d'OpenBSD (un système d'exploitation open source). Tous les principaux systèmes d'exploitation, tels que Windows, macOS et les nombreuses distributions Linux, prennent en charge OpenSSH.
Pour comprendre le fonctionnement de SSH, vous devez comprendre deux choses.
Tout d'abord, qu'est-ce qu'un coquillage ? Deuxièmement, comment fonctionne la cryptographie à clé publique ? Voyons ce qu'est réellement un shell avant d'examiner les détails d'une connexion SSH.
Un shell est un logiciel qui vous permet de communiquer avec le système d'exploitation sur lequel il est hébergé. En règle générale, vous utilisez des commandes pour interagir avec le shell, bien qu'il existe des interfaces utilisateur graphiques (GUI).
Une chose importante à savoir est que vous n'avez pas besoin d'être assis devant l'ordinateur pour utiliser un shell. Vous pouvez utiliser un shell à distance via une connexion réseau en utilisant, vous l'avez deviné, SSH.
Dans l'informatique moderne, il existe deux principaux types de chiffrement :
SSH est un type de cryptographie à clé publique, utilisant les deux types de chiffrement ci-dessus pour créer une connexion sécurisée.
SSH utilise les deux types de chiffrement ci-dessus pour créer une connexion sécurisée dans un modèle client-serveur. Lorsque le client tente de créer une connexion avec le serveur, chaque partie communique ses protocoles de chiffrement.
Après avoir choisi un protocole de chiffrement correspondant, le client et le serveur utilisent l'algorithme d'échange de clés Diffie-Hellman pour arriver à une clé de chiffrement partagée dans le cadre d'un algorithme symétrique. Cette clé de cryptage reste secrète tout au long de la connexion et sert à crypter toutes les communications entre les deux parties.
Alors, d'où vient la fonctionnalité de chiffrement asymétrique ?
Dans la cryptographie à clé publique, vous disposez de deux clés :une clé publique et une clé privée . Vous pouvez envoyer la clé publique à d'autres personnes, tandis que le propriétaire ne connaît que la clé privée. Ensemble, ils forment une paire.
Avant que l'échange de clés symétriques n'ait lieu et que le canal de communication sécurisé ne soit établi, SSH utilise un chiffrement asymétrique pour créer une paire de clés temporaire. Le client et le serveur échangent des clés publiques, se validant mutuellement avant le début du processus de création de clé symétrique.
Étant donné que SSH utilise le chiffrement symétrique pour sécuriser votre connexion, vous pouvez configurer SSH pour utiliser une large gamme d'algorithmes de chiffrement symétriques, notamment AES, Blowfish, Twofish, Salsa20/ChaCha20, 3DES, IDEA, etc.
En relation :Types de chiffrement courants et pourquoi vous ne devriez pas créer le vôtre
Bien que SSH et SSL/TLS assurent tous deux la sécurité d'un protocole réseau auparavant non sécurisé, SSH et SSL/TLS ne sont pas identiques.
Le Secure Sockets Layer (SSL) et son successeur, Transport Layer Security (TLS), fournissent un tunnel de communication crypté. Vous utilisez TLS tous les jours lorsque vous envoyez des e-mails ou naviguez sur le Web. SSL et TLS sont des protocoles de couche application. Dans les réseaux de communication Internet, la couche application normalise les communications pour les services de l'utilisateur final.
Alors que SSL/TLS et SSH fournissent le cryptage, les protocoles réseau eux-mêmes sont conçus pour différentes choses. SSL/TLS est conçu pour protéger votre connexion de données, tandis que SSH est conçu pour permettre un accès à distance sécurisé et l'exécution de commandes.
Cependant, vous pouvez utiliser SSH en conjonction avec SSL pour transférer des fichiers, en utilisant le protocole de transfert de fichiers SSH (SFTP) ou le protocole de copie sécurisée (SCP). Soit dit en passant, l'utilisation du SCP n'est qu'un moyen parmi d'autres de copier des données de votre PC vers un Raspberry Pi.
Comme la question ci-dessus, un réseau privé virtuel (VPN) fournit également un tunnel crypté pour votre communication. Mais là où SSH fournit une connexion sécurisée dans une configuration client-serveur à un ordinateur spécifique, un VPN fournit une connexion sécurisée entre votre ordinateur et le serveur VPN.
Vous n'exécutez pas de commandes à distance sur le serveur VPN. Au lieu de cela, lorsque vous activez votre VPN, les transmissions de données vers et depuis votre ordinateur transitent par le tunnel crypté jusqu'au serveur VPN avant de "rejoindre" l'Internet au sens large.
Ainsi, SSH permet une connexion sécurisée à un seul ordinateur pour exécuter des commandes à distance, tandis qu'un VPN permet un tunnel crypté entre votre ordinateur et le serveur VPN.
Ce processus peut masquer l'emplacement de votre ordinateur et fournir une sécurité supplémentaire lors de l'utilisation d'une connexion Internet. Vouloir en savoir davantage? Voici comment un VPN peut protéger votre vie privée.
Tant que le système d'exploitation que vous avez choisi dispose d'un client SSH ou d'une fonctionnalité SSH intégrée, le protocole réseau sécurisé est à votre disposition.
Par exemple, vous pouvez suivre notre guide pour débutants sur SSH sous Linux ou découvrir à quel point il est facile d'utiliser SSH sous Windows 10.
Secure Shell ne va nulle part. SSH fournit un protocole réseau sécurisé et facile à utiliser qui est librement accessible à tout utilisateur. Il fonctionne sur toutes les plateformes et se trouve dans le monde entier. Maintenant que vous avez lu ce petit guide sur SSH, vous êtes bien mieux préparé à l'utiliser à l'avenir.