ANAVEM
Référence
Languageen
Secure SSH connection visualization showing encrypted data tunnel between computers
ExpliquéSSH

Qu'est-ce que SSH ? Définition, fonctionnement et cas d'utilisation

SSH (Secure Shell) est un protocole réseau cryptographique pour un accès à distance sécurisé et l'exécution de commandes. Apprenez comment fonctionne SSH, les méthodes d'authentification et les meilleures pratiques.

Emanuel DE ALMEIDAEmanuel DE ALMEIDA
16 mars 2026 8 min 8
SSHMise en réseau 8 min
Présentation

Présentation

Imaginez ceci : vous gérez un serveur web critique depuis votre bureau à domicile à 2 heures du matin, en résolvant un problème de production qui affecte des milliers d'utilisateurs. Le serveur est situé dans un centre de données à des centaines de kilomètres, mais vous devez y accéder comme si vous étiez assis juste devant. Ce scénario se déroule d'innombrables fois chaque jour dans l'industrie informatique, et c'est rendu possible par SSH – l'un des protocoles les plus fondamentaux dans l'administration système moderne et DevOps.

SSH est devenu la norme de facto pour l'accès à distance sécurisé, remplaçant les anciens protocoles non sécurisés comme Telnet et rlogin. Que vous soyez un administrateur système gérant une infrastructure cloud, un développeur déployant des applications, ou un professionnel de la sécurité effectuant une analyse judiciaire, comprendre SSH est essentiel pour les opérations informatiques modernes.

Qu'est-ce que SSH ?

SSH (Secure Shell) est un protocole réseau cryptographique qui fournit un canal sécurisé sur un réseau non sécurisé pour la connexion à distance, l'exécution de commandes et d'autres services réseau. Développé en 1995 par Tatu Ylönen à l'Université de Technologie d'Helsinki, SSH a été créé comme un remplacement sécurisé pour les anciens protocoles d'accès à distance qui transmettaient les données en clair.

Pensez à SSH comme un tunnel sécurisé entre votre ordinateur local et un système distant. Tout comme vous pourriez utiliser un VPN pour créer une connexion sécurisée à votre réseau de bureau, SSH crée un chemin crypté qui protège toutes les communications contre l'écoute, le détournement de connexion et d'autres attaques basées sur le réseau. Le protocole fonctionne par défaut sur le port 22 et utilise des algorithmes de chiffrement puissants pour garantir la confidentialité et l'intégrité des données.

Comment fonctionne SSH ?

SSH fonctionne selon une architecture client-serveur utilisant une approche de sécurité à plusieurs niveaux qui combine chiffrement, authentification et vérification de l'intégrité des données. Le processus de connexion implique plusieurs phases distinctes :

1. Établissement de la connexion : Le client SSH initie une connexion au serveur SSH (généralement en cours d'exécution sur le port 22). Le serveur répond avec sa clé publique et les algorithmes de chiffrement pris en charge.

2. Négociation du protocole : Le client et le serveur négocient la version du protocole SSH à utiliser (SSH-1 ou SSH-2, SSH-2 étant la norme actuelle), les algorithmes de chiffrement et les méthodes d'authentification.

3. Échange de clés : En utilisant des algorithmes comme Diffie-Hellman, les deux parties génèrent une clé secrète partagée sans la transmettre sur le réseau. Ce processus garantit que même si quelqu'un intercepte la communication, il ne peut pas dériver la clé de chiffrement.

4. Authentification du serveur : Le client vérifie l'identité du serveur en utilisant la clé publique du serveur. Lors de la première connexion, les utilisateurs voient généralement une invite de vérification d'empreinte digitale pour prévenir les attaques de type "man-in-the-middle".

5. Authentification de l'utilisateur : Le serveur authentifie l'utilisateur par diverses méthodes, y compris l'authentification par mot de passe, l'authentification par clé publique ou l'authentification multi-facteurs.

6. Création de canal sécurisé : Une fois l'authentification réussie, SSH établit un canal crypté où toutes les communications ultérieures sont protégées à l'aide d'algorithmes de chiffrement symétrique comme AES.

L'ensemble du processus crée plusieurs couches de sécurité : la couche de transport fournit l'authentification et le chiffrement du serveur, la couche d'authentification de l'utilisateur vérifie l'identité de l'utilisateur, et la couche de connexion multiplexe plusieurs canaux logiques sur la connexion cryptée unique.

À quoi sert SSH ?

Administration de serveurs à distance

Les administrateurs système utilisent SSH quotidiennement pour gérer les serveurs, configurer les services, surveiller les performances du système et résoudre les problèmes. Que ce soit pour gérer des serveurs sur site ou des instances cloud sur AWS, Azure ou Google Cloud, SSH fournit un accès en ligne de commande sécurisé qui semble identique à l'accès terminal local.

Transfert de fichiers sécurisé

SSH permet le transfert de fichiers sécurisé via des protocoles comme SCP (Secure Copy Protocol) et SFTP (SSH File Transfer Protocol). Ceux-ci remplacent les alternatives non sécurisées comme FTP, permettant aux administrateurs et développeurs de transférer en toute sécurité des fichiers de configuration, du code d'application, des sauvegardes et d'autres données sensibles entre les systèmes.

Déploiement d'applications et DevOps

Les pipelines DevOps modernes reposent fortement sur SSH pour les déploiements automatisés, la gestion de la configuration et les workflows d'intégration continue. Des outils comme Ansible, Puppet et des scripts de déploiement personnalisés utilisent SSH pour exécuter des commandes sur plusieurs serveurs simultanément, permettant des pratiques d'infrastructure en tant que code.

Redirection de port et tunneling

Les capacités de redirection de port de SSH permettent aux utilisateurs d'accéder en toute sécurité aux services exécutés sur des réseaux distants. Les administrateurs de bases de données utilisent couramment les tunnels SSH pour se connecter à des serveurs de bases de données qui ne sont pas directement accessibles depuis Internet, tandis que les développeurs l'utilisent pour accéder aux API et services internes pendant le développement.

Accès aux dépôts Git

Les systèmes de contrôle de version comme Git utilisent largement SSH pour un accès sécurisé aux dépôts. Les développeurs s'authentifient sur des plateformes comme GitHub, GitLab et Bitbucket en utilisant des clés SSH, permettant des poussées et des tirages de code sécurisés sans exposer les identifiants dans les scripts ou les fichiers de configuration.

Avantages et inconvénients de SSH

Avantages :

  • Sécurité forte : SSH offre un chiffrement robuste, une authentification et une protection de l'intégrité des données, le rendant adapté pour accéder à des systèmes sensibles sur des réseaux non fiables.
  • Polyvalence : Au-delà de l'accès shell à distance, SSH prend en charge le transfert de fichiers, la redirection de port, le transfert X11, et peut tunneliser d'autres protocoles en toute sécurité.
  • Authentification par clé : L'authentification par clé publique élimine les vulnérabilités basées sur les mots de passe et permet un accès automatisé sans mot de passe pour les scripts et applications.
  • Support étendu des plateformes : Les clients et serveurs SSH sont disponibles pour pratiquement tous les systèmes d'exploitation, de Linux et Windows aux plateformes mobiles et appareils embarqués.
  • Support de compression : SSH peut compresser les flux de données, réduisant l'utilisation de la bande passante sur les connexions réseau lentes.
  • Multiplexage de session : Une seule connexion SSH peut transporter plusieurs canaux, réduisant la surcharge de connexion et améliorant les performances.

Inconvénients :

  • Complexité : Une configuration SSH appropriée nécessite une compréhension des concepts cryptographiques, de la gestion des clés et des meilleures pratiques de sécurité.
  • Surcharge de gestion des clés : Les organisations doivent mettre en œuvre des processus pour générer, distribuer, faire tourner et révoquer les clés SSH sur potentiellement des milliers de systèmes.
  • Impact sur les performances : Les opérations de chiffrement et de déchiffrement consomment des ressources CPU, bien que cela soit généralement négligeable sur le matériel moderne.
  • Considérations de pare-feu : Le trafic SSH peut être bloqué par des pare-feux restrictifs, et les organisations doivent configurer soigneusement les contrôles d'accès.
  • Potentiel d'abus : Les capacités de tunneling SSH peuvent être utilisées pour contourner les politiques de sécurité réseau si elles ne sont pas correctement surveillées et contrôlées.

SSH vs Telnet et RDP

CaractéristiqueSSHTelnetRDP
SécuritéChiffré, authentifiéEn clair, pas d'authentificationChiffré, authentifié
Port par défaut22233389
InterfaceLigne de commandeLigne de commandeBureau graphique
Support de plateformeMulti-plateformeMulti-plateformePrincipalement Windows
Utilisation de la bande passanteBasseTrès basseÉlevée
Transfert de fichiersIntégré (SCP/SFTP)Non pris en chargePartage de presse-papiers/disque
TunnelingSupport étenduNon pris en chargeLimité

Bien que Telnet reste utile pour tester la connectivité réseau et accéder à des appareils réseau dans des environnements contrôlés, son manque de chiffrement le rend inadapté pour une utilisation en production sur des réseaux non fiables. RDP excelle pour l'accès aux bureaux Windows et les applications nécessitant des interfaces graphiques, mais la nature légère de SSH et sa sécurité supérieure en font le choix préféré pour l'administration de serveurs et les tâches d'automatisation.

Bonnes pratiques avec SSH

  1. Utiliser l'authentification par clé SSH : Remplacez l'authentification par mot de passe par l'authentification par clé publique autant que possible. Générez des clés RSA fortes (minimum 2048 bits) ou Ed25519, et mettez en œuvre des politiques de rotation des clés appropriées. Stockez les clés privées en toute sécurité et utilisez des phrases de passe pour une protection supplémentaire.
  2. Renforcer la configuration du serveur SSH : Désactivez la connexion root, changez le port par défaut de 22, mettez en œuvre une limitation du taux de connexion, et utilisez les directives AllowUsers ou AllowGroups pour restreindre l'accès. Désactivez les méthodes d'authentification inutilisées et activez uniquement les fonctionnalités SSH nécessaires.
  3. Mettre en œuvre des contrôles au niveau du réseau : Utilisez des pare-feux pour restreindre l'accès SSH à des plages IP spécifiques ou des réseaux VPN. Envisagez de mettre en œuvre fail2ban ou des outils similaires pour bloquer automatiquement les attaques par force brute. Pour les environnements cloud, tirez parti des groupes de sécurité et des ACL réseau.
  4. Surveiller et auditer l'accès SSH : Activez la journalisation complète des connexions SSH, des tentatives d'authentification et des commandes exécutées. Mettez en œuvre une gestion centralisée des journaux et configurez des alertes pour les activités suspectes comme les tentatives d'authentification échouées ou les connexions depuis des emplacements inattendus.
  5. Utiliser des certificats SSH pour l'échelle : Dans les grands environnements, mettez en œuvre des autorités de certification SSH (CA) pour simplifier la gestion des clés et permettre des contrôles d'accès granulaires. Cette approche élimine le besoin de distribuer des clés publiques individuelles à chaque serveur.
  6. Mettre en œuvre la gestion des sessions : Utilisez des outils comme screen ou tmux pour gérer les sessions de longue durée, et mettez en œuvre des délais d'expiration de session pour déconnecter automatiquement les connexions inactives. Envisagez d'utiliser le multiplexage de connexion SSH pour réduire la surcharge de connexion dans les scripts automatisés.
Conseil : Utilisez les fichiers de configuration SSH (~/.ssh/config) pour simplifier la gestion des connexions en définissant des alias d'hôte, des utilisateurs par défaut, des fichiers de clés et des options de connexion. Cela améliore à la fois la sécurité et la convivialité pour les connexions fréquentes.

Conclusion

SSH a évolué d'un simple remplacement sécurisé pour Telnet en une plateforme complète pour l'accès à distance sécurisé, le transfert de fichiers et le tunneling réseau. Son modèle de sécurité robuste, combinant un chiffrement fort avec des options d'authentification flexibles, le rend indispensable pour les opérations informatiques modernes. À mesure que les organisations adoptent de plus en plus l'infrastructure cloud, la conteneurisation et les pratiques DevOps, le rôle de SSH continue de s'étendre au-delà de l'administration traditionnelle des serveurs.

La force du protocole réside non seulement dans ses fonctionnalités de sécurité, mais aussi dans sa polyvalence et son adoption généralisée. De la gestion des clusters Kubernetes au déploiement de microservices, de la sécurisation de l'accès aux appareils IoT à l'activation des workflows de développement à distance, SSH fournit la base sécurisée dont les systèmes distribués modernes ont besoin.

Pour les professionnels de l'informatique en 2026, maîtriser SSH n'est pas optionnel – c'est une compétence fondamentale qui sous-tend des opérations sécurisées à travers pratiquement toutes les piles technologiques. À mesure que les menaces cybernétiques continuent d'évoluer, le modèle de sécurité éprouvé de SSH et sa communauté de développement active garantissent qu'il restera un pilier de l'accès à distance sécurisé pour les années à venir.

Questions fréquentes

Qu'est-ce que SSH en termes simples ?+
SSH (Secure Shell) est un moyen sécurisé d'accéder et de contrôler à distance des ordinateurs via un réseau. Il chiffre toutes les communications entre votre ordinateur et le système distant, protégeant contre l'écoute clandestine et les attaques.
À quoi sert SSH ?+
SSH est principalement utilisé pour l'administration de serveurs à distance, les transferts de fichiers sécurisés, le déploiement d'applications et la création de tunnels sécurisés pour d'autres services réseau. Les administrateurs système et les développeurs l'utilisent quotidiennement pour gérer les serveurs et déployer des applications.
SSH est-il le même que VPN ?+
Non. SSH crée une connexion sécurisée à un ordinateur distant spécifique pour l'exécution de commandes et le transfert de fichiers, tandis que VPN crée une connexion réseau sécurisée qui redirige tout votre trafic à travers un réseau distant. SSH est plus ciblé, VPN est un accès réseau plus large.
Comment puis-je me connecter à un serveur en utilisant SSH ?+
Utilisez un client SSH avec la commande 'ssh username@hostname' ou 'ssh username@ip-address'. Vous aurez besoin soit d'un mot de passe, soit d'une clé SSH pour l'authentification. La plupart des systèmes d'exploitation incluent des clients SSH par défaut.
Quel port utilise SSH ?+
Par défaut, SSH utilise le port 22, bien que cela puisse être modifié pour des raisons de sécurité. Lors de la connexion, vous pouvez spécifier un port différent en utilisant 'ssh -p numérodeport utilisateur@nomd'hôte' si le serveur est configuré pour utiliser un port non standard.
Références

Ressources officielles (3)

Emanuel DE ALMEIDA
Écrit par

Emanuel DE ALMEIDA

Microsoft MCSA-certified Cloud Architect | Fortinet-focused. I modernize cloud, hybrid & on-prem infrastructure for reliability, security, performance and cost control - sharing field-tested ops & troubleshooting.

Discussion

Partagez vos réflexions et analyses

Vous devez être connecté pour commenter.

Chargement des commentaires...