Établissement de liaison SSH et authentification par clé d’hôte
Suivez l’établissement de liaison SSH-2 : échange de versions, négociation des algorithmes, échange de clés et authentification du service.
Établissement de liaison SSH et authentification par clé d’hôte est une leçon Cryptology Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Cryptology Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Cryptology Academy comprend 4 leçons au total.
Connexion TCP sur le port 22
SSH commence par établir une connexion TCP vers le port 22. Une fois la connexion établie, le client et le serveur échangent des chaînes de version telles que SSH-2.0-OpenSSH_9.3, qui identifie la version du protocole et l’implémentation. Cet échange de versions permet aux deux parties de confirmer leur compatibilité avant de poursuivre.
Phase de négociation des algorithmes
Après l’échange de versions, les deux parties envoient des paquets SSH_MSG_KEXINIT qui répertorient les algorithmes pris en charge. Ces listes couvrent les méthodes d’échange de clés, les types de clés d’hôte, les chiffrements symétriques, les algorithmes MAC et la compression. L’intersection des deux listes détermine les algorithmes sélectionnés pour la session.
Échange de clés Diffie-Hellman et ECDH
La clé de session est établie à l’aide d’un algorithme d’échange de clés tel que Diffie-Hellman ou ECDH. Le client et le serveur génèrent chacun une paire de clés éphémères, échangent leurs valeurs publiques et calculent indépendamment le même secret partagé. Ce secret partagé sert de base à la dérivation de la clé de session sans jamais être transmis directement.
Authentification par la clé d’hôte du serveur
Le serveur prouve son identité en signant le hachage de l’échange de clés à l’aide de sa clé privée d’hôte. La clé d’hôte peut être une clé RSA, ECDSA ou au format Ed25519 moderne. Le client utilise la clé publique correspondante pour vérifier cette signature, confirmant qu’il communique bien avec le véritable serveur et non avec un imposteur.
Confiance au premier usage (TOFU)
Lors de la première connexion à un nouveau serveur, le client ne connaît pas encore la clé publique de l’hôte. SSH affiche l’empreinte de la clé et invite l’utilisateur à l’accepter. Ce modèle de confiance au premier usage enregistre la clé dans known_hosts et détecte les changements lors des connexions ultérieures, en signalant d’éventuelles attaques de l’homme du milieu.
Vérification de l’empreinte de la clé d’hôte
Le moyen le plus sûr de vérifier une nouvelle clé d’hôte est d’utiliser un canal hors bande. Un administrateur peut lire l’empreinte du serveur en personne ou par l’intermédiaire d’un canal sécurisé vérifié, puis la comparer à celle affichée par le client SSH. Cela évite d’accepter silencieusement une clé frauduleuse lors de la première connexion.
Structure du fichier known_hosts
Le fichier known_hosts stocke des lignes de la forme : hostname algorithm base64-key. Chaque entrée représente une identité de serveur approuvée. Lorsque vous vous connectez à un hôte déjà présent dans known_hosts, SSH vérifie que la clé présentée correspond à celle qui est enregistrée et refuse la connexion en cas d’incohérence.
Dérivation des clés de session
Après l’échange de clés, les deux parties dérivent indépendamment les clés de session à partir du secret partagé, du hachage de l’échange et de l’identifiant de session. Des clés distinctes sont dérivées pour chaque direction de communication et pour le chiffrement comme pour les opérations MAC. Ainsi, les clés utilisées pour le trafic du client vers le serveur diffèrent de celles utilisées du serveur vers le client.
Phase de communication chiffrée
Une fois les clés de session établies, toutes les communications SSH suivantes sont chiffrées et authentifiées. Le chiffrement négocié, tel que AES-256-GCM ou ChaCha20-Poly1305, protège la confidentialité, tandis que le MAC garantit l’intégrité. Même le nom d’utilisateur et les informations d’authentification sont transmis à l’intérieur de ce tunnel chiffré.
Comparaison des types de clés d’hôte SSH
Les clés d’hôte RSA de 2048 ou 4096 bits sont largement prises en charge, mais elles sont plus lentes. Les clés ECDSA fondées sur des courbes NIST sont plus rapides, mais certaines personnes n’accordent pas leur confiance aux paramètres des courbes NIST. Les clés Ed25519 fondées sur Curve25519 sont actuellement recommandées : elles sont petites, rapides, offrent un niveau élevé de sécurité et ne dépendent pas des paramètres des courbes NIST. La plupart des serveurs SSH modernes proposent Ed25519 par défaut.
Résumé de l’établissement de la session
L’échange initial SSH comprend les étapes suivantes : connexion TCP, échange de versions, négociation des algorithmes, échange de clés établissant les clés de session, vérification de la clé d’hôte du serveur et authentification de l’utilisateur. Toutes les étapes suivant l’échange de versions se déroulent au sein d’un canal chiffré dont l’intégrité est protégée, établi pendant la phase d’échange de clés.
Vérification de la clé d’hôte
Comment un client vérifie-t-il la clé d’hôte du serveur SSH lors des connexions suivantes, après la première ?
Récapitulatif de l’échange initial SSH
Dans cette leçon : une connexion TCP est établie sur le port 22, les chaînes de version sont échangées, la négociation des algorithmes sélectionne les chiffrements et les méthodes d’échange de clés, ECDH ou DH établit un secret partagé, les clés de session sont dérivées séparément pour chaque direction, le serveur s’authentifie à l’aide de la signature de sa clé d’hôte et le client vérifie cette clé par rapport à known_hosts en appliquant TOFU lors de la première connexion.
Questions Fréquemment Posées
La leçon « Établissement de liaison SSH et authentification par clé d’hôte » est-elle gratuite ?
Oui — le texte complet de « Établissement de liaison SSH et authentification par clé d’hôte » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Cryptology Academy, passe à CoddyKit PRO. Le cours Cryptology Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Établissement de liaison SSH et authentification par clé d’hôte » ?
Suivez l’établissement de liaison SSH-2 : échange de versions, négociation des algorithmes, échange de clés et authentification du service. Tu pratiques Cryptology Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Cryptology Academy ?
Aucune expérience préalable n'est requise. Cryptology Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Établissement de liaison SSH et authentification par clé d’hôte » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Cryptology Academy ?
Oui. Chaque leçon Cryptology Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Établissement de liaison SSH et authentification par clé d’hôte
- Authentification par clé publique et transfert d’agent
- Tunneling SSH et techniques de transfert de ports
- Durcissement de SSH et bonnes pratiques d’audit