Théme de la semaine : Exploitation

Identifier une machine accessible en SSH avec Nmap

Lecture: 8 minutes
Accueil • CyberSécurité • Identifier une machine accessible en SSH avec Nmap

Un service SSH est-il accessible sur l’adresse IP que vous analysez ? Avec Nmap, vous pouvez repérer un port 22 ouvert, identifier le service qui l’utilise et découvrir SSH même lorsqu’il écoute sur un autre port.

Dans ce chapitre du tutoriel dédié à la cybersécurité, vous apprendrez à lancer les bonnes commandes et à interpréter les résultats pour préparer votre connexion SSH, même si vous débutez.

Tout savoir sur une connexion SSH

Une connexion SSH (Secure Shell) est un protocole qui permet de se connecter à distance à un autre ordinateur ou à un serveur de manière totalement sécurisée. Contrairement aux anciennes méthodes non sécurisées, le SSH chiffre tous les échanges — qu’il s’agisse de commandes tapées ou de mots de passe — afin qu’ils ne puissent pas être interceptés par des personnes malveillantes sur le réseau. C’est l’outil standard utilisé au quotidien par les administrateurs pour gérer des machines à distance.

En pentesting (tests d’intrusion), le SSH devient une cible et un outil précieux dès qu’un auditeur réussit à récupérer des identifiants valides ou une clé de chiffrement. Il permet non seulement de prendre le contrôle direct de la machine compromise pour y exécuter des commandes, mais aussi de réaliser du tunneling(redirection de port). Cette technique sert de pont pour contourner les pare-feu et accéder à d’autres machines ou services internes qui étaient jusque-là invisibles depuis l’extérieur.

👉 Pour aller plus loin : Comprendre SSH en 30 min, tutoriel complet

Comment se connecter à un serveur ou une machine en SSH ?

Pour vous connecter en SSH, on utilise un principe de base appelé client-serveur. D’un côté, il y a votre ordinateur (le « client ») qui souhaite piloter une autre machine, et de l’autre, le serveur distant (la cible). Pour initier cette connexion, vous avez simplement besoin de l’adresse de la machine (son adresse IP) et de lancer une commande dans votre terminal en indiquant votre nom d’utilisateur et cette adresse.

Une fois que vous lancez la commande, le serveur vous demande de prouver votre identité pour s’assurer que vous avez le droit d’entrer. Cette authentification se fait généralement de deux manières : soit en saisissant un mot de passe classique, soit (ce qui est beaucoup plus sûr et utilisé par les professionnels) en utilisant une clé SSH, qui fait office de passeport numérique. Dès que le serveur valide votre identité, un canal chiffré s’ouvre et le terminal de la machine distante apparaît directement sur votre écran, vous permettant de taper vos commandes comme si vous étiez assis juste devant elle.

Le principe d'une connexion SSH

Comment se connecter en SSH ?

Pour vous connecter en SSH à un serveur distant, la commande de base à taper dans votre terminal est la suivante :

ssh nom_utilisateur@adresse_ip

Il vous suffit de remplacer nom_utilisateur par votre identifiant sur le serveur (par exemple root ou admin) et adresse_ip par l’adresse IP ou le nom de domaine de la machine distante (par exemple 192.168.1.50).

Voici quelques précisions utiles selon les situations :

Si le serveur utilise un port différent du port par défaut (22) : Vous devez ajouter l’option -p suivie du numéro de port :

ssh -p 2222 nom_utilisateur@adresse_ip

Si vous utilisez une clé SSH (passeport numérique) au lieu d’un mot de passe : Vous devez indiquer le chemin vers votre fichier de clé privée avec l’option -i :

ssh -i /chemin/vers/votre/cle_secrete nom_utilisateur@adresse_ip

Après avoir validé la commande par Entrée, si c’est votre première connexion à cette machine, le terminal vous demandera d’accepter l’empreinte du serveur en tapant yes. 

Enfin, le système vous demandera soit votre mot de passe, soit la phrase de passe de votre clé pour finaliser la connexion. Mais avant tout cela, il vous faut connaître les adresses IP qui permettent une connexion SSH …

Identifier une machine accessible en SSH

Pour savoir si une machine est accessible en SSH, on va utiliser Nmap et vérifier si le port 22/TCP est ouvert (sur une machine que vous êtes autorisé à scanner bien sur). Il s’agit de la phase d’analyse en pentesting correspondant au scan des ports :

nmap -sV -p 22 192.168.1.10

Dans cette commande, l’outil nmap est utilisé pour analyser une machine cible (ici, l’adresse IP 192.168.1.10) afin de voir quels services sont ouverts et accessibles.

Voici ce que signifient précisément les deux paramètres -sV et -p 22 :

  • -p 22 (Port) : Ce paramètre indique à nmap de ne scanner que le port 22. C’est le port standard utilisé par le service SSH (celui dont nous parlions juste avant). Si vous ne mettiez pas ce paramètre, nmap scannerait par défaut une liste des ports les plus courants.
  • -sV (Service Version) : Ce paramètre demande à nmap d’aller un peu plus loin qu’une simple vérification.Une fois qu’il trouve un port ouvert, il essaie de dialoguer avec lui pour découvrir la version exacte du logiciel qui tourne derrière (par exemple, connaître la version précise du serveur SSH installée).

Cette commande vous permet donc de vérifier rapidement si le service SSH est ouvert sur la machine cible et d’identifier sa version exacte, une information très utile en pentesting pour savoir si ce logiciel possède des vulnérabilités connues.

Voici un exemple de résultat :

Starting Nmap 7.992 ( https://nmap.org ) at 2026-11-02 10:04 +0100
Nmap scan report for 192-168-1-10.elastic-ssl.ui-r.com (192.168.1.10)
Host is up (0.049s latency).

PORT   STATE  SERVICE VERSION
22/tcp closed ssh

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 0.38 seconds
  • Host is up (0.049s latency) : Cette ligne vous indique que la machine cible (l’adresse IP 217.160.0.176) est bien en ligne, active et qu’elle répond aux requêtes de votre ordinateur avec un délai très court (49 millisecondes).
  • PORT STATE SERVICE VERSION / 22/tcp closed ssh : C’est le cœur du résultat. Nmap a testé le port 22 (celui du SSH) et vous indique qu’il est closed (fermé).

Qu’est-ce que cela signifie concrètement ? Cela veut dire que la machine est bien allumée et accessible sur le réseau,mais qu’aucun service SSH n’est en train de tourner ou d’écouter sur ce port 22 à cet instant précis.

Dans un contexte de pentesting : Cela signifie que vous ne pourrez pas utiliser le protocole SSH pour tenter de vous connecter à cette machine par ce moyen. Soit le service SSH a été désactivé par l’administrateur, soit il a été déplacé sur un autre port (un port personnalisé autre que le 22 pour plus de sécurité). Votre audit devra donc se tourner vers l’analyse d’autres ports ou d’autres services ouverts sur cette machine.

Les différents états :

  • open : un service accepte les connexions sur ce port ; -sV aide à vérifier qu’il s’agit bien de SSH.
  • closed : aucun service n’écoute sur ce port.
  • filtered : un filtrage empêche Nmap de déterminer son état.

Pour repérer les machines avec le port SSH ouvert sur tout un réseau local :

nmap -sV -p 22 --open 192.168.1.0/24

SSH peut aussi utiliser un autre port, comme 2222. Pour chercher sur tous les ports TCP d’une IP :

nmap -sV -p- --open 192.168.1.10

Une fois le service repéré, on peut se connecter avec :

ssh utilisateur@192.168.1.10

Ou, s’il utilise le port 2222 :

ssh -p 2222 utilisateur@192.168.1.10

Un port SSH ouvert ne garantit pas que vous pourrez vous connecter : il faut aussi un compte et une méthode d’authentification acceptée, comme une clé ou un mot de passe.

Se connecter au port SSH

Une fois que vous avez repéré un port SSH ouvert sur une machine cible lors d’un test d’intrusion, vous pouvez utiliser plusieurs méthodes pour tenter de vous y connecter :

Le test de mots de passe (force brute ou password guessing) : Vous pouvez utiliser des outils automatisés pour tester rapidement des milliers de mots de passe courants associés à des identifiants classiques (comme admin, root, user) afin de trouver une combinaison valide.

👉 Hydra et connexion SSH : tester un mot de passe par force brute

L’utilisation d’identifiants par défaut : S’il s’agit d’un routeur, d’un équipement réseau ou d’un serveur mal configuré, vous essayez souvent les couples nom d’utilisateur et mot de passe d’origine fournis par le fabricant et laissés inchangés.

La recherche de clés de connexion égarées : Si vous avez déjà réussi à infiltrer une autre partie du système (par exemple via un site web mal protégé), vous cherchez parfois des fichiers de clés privées (comme id_rsa) oubliés sur le disque, ce qui vous permet de vous connecter instantanément sans mot de passe.

L’exploitation de failles logicielles

Si la commande nmap vous a révélé une version très ancienne du service SSH, vous pouvez chercher si cette version précise possède une vulnérabilité publique connue qui permettrait de contourner l’authentification.

Lorsque vous connaissez la version exacte d’un logiciel (par exemple, obtenue grâce au paramètre -sV de nmap), vous disposez de l’information clé pour savoir si le serveur possède des failles. Voici concrètement comment s’y prendre pour faire le lien :

1. Utiliser les bases de données de vulnérabilités : Vous pouvez rechercher directement sur Internet (sur des sites officiels comme la NVD ou le catalogue CVE) en tapant le nom du logiciel et sa version exacte. Ces plateformes répertorient toutes les failles de sécurité découvertes au fil du temps. Si le serveur tourne sur une version ancienne qui n’a pas été mise à jour depuis des années, ces bases de données afficheront immédiatement la liste des failles (les CVE) qui le touchent.

2. Utiliser des outils de recherche de scripts comme Searchsploit : Si vous utilisez un système dédié au pentesting (comme Kali Linux), vous disposez d’un outil très pratique appelé Searchsploit. En tapant simplement le nom du logiciel et sa version dans votre terminal, l’outil fouille dans une énorme base de données locale et vous indique instantanément si des programmes d’exploitation existent pour cette version précise.

3. Laisser Nmap chercher à votre place : Nmap ne sert pas seulement à lister les ports ouverts ; il intègre aussi des mini-programmes appelés scripts NSE. Vous pouvez lui commander de tester directement le service SSH pour voir s’il présente l’une des vulnérabilités connues associées à sa version,ce qui vous évite une recherche manuelle.

L’ancienneté est l’amie du pentester : plus un serveur est vieux et n’a pas reçu de mises à jour,plus sa version est répertoriée dans les bases de données de failles, ce qui permet de trouver rapidement son identifiant CVE et les outils pour l’exploiter.


Notre parcours vous a permis de cheminer de la compréhension fondamentale du protocole SSH jusqu’aux méthodes d’analyse et d’évaluation de la sécurité en pentesting. Vous disposez désormais des clés pour identifier ce service, utiliser des outils de scan comme Nmap, et appréhender la manière dont les failles et les exploits sont recherchés.

Au bout du compte, cela rappelle que la sécurité d’un système informatique n’est jamais acquise : elle demande une vigilance de tous les instants pour s’assurer que chaque porte d’entrée, visible ou cachée, est correctement surveillée et protégée.

Hydra, l’attaque de connexion SSH par force brute