Développement web, sécurité et IA

Théme de la semaine : Outils pentest

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

Temps de lecture estimé : 10 minutes
Accueil CyberSécurité Hydra et connexion SSH : tester un mot de passe par force brute

Hydra est l’un des outils les plus utilisés en pentest pour vérifier la robustesse des identifiants d’un service. Dans ce tutoriel, vous allez apprendre à l’utiliser pour tester et craquer (pour vérifier la solidité d’un mot de passe) une connexion SSH en comprenant précisément le rôle de chaque option de la commande a utiliser.

Pas à pas, vous découvrirez comment préparer une liste de mots de passe ou utiliser une wordlist, lancer votre premier test avec Hydra, interpréter les résultats et adopter les bonnes pratiques pour sécuriser un serveur SSH. Le tout dans un environnement de laboratoire, avec des explications simples, des exemples concrets et une approche adaptée aux débutants.

  • Comprendre comment fonctionne une attaque par dictionnaire sur un service SSH afin de mieux évaluer la résistance d’un mot de passe.
  • Maîtriser la syntaxe de Hydra pour lancer des tests de pentest en sachant exactement à quoi sert chaque option.
  • Identifier les bonnes pratiques pour renforcer la sécurité d’un serveur SSH et limiter les risques liés aux tentatives de connexion automatisées.

Hydra est un outil de test de sécurité capable d’essayer automatiquement plusieurs mots de passe sur un service distant. Nous allons utiliser Hydra pour tester une connexion SSH dans un environnement que vous possédez ou pour lequel vous avez reçu une autorisation explicite.

L’objectif n’est pas de « craquer » un serveur au hasard, mais de vérifier si un compte SSH utilise un mot de passe trop facile à deviner.

Avant de commencer : un rappel indispensable

Hydra est un outil de pentest, c’est-à-dire de test d’intrusion. Il peut être utilisé légalement pour contrôler la sécurité de vos propres machines, d’un laboratoire pédagogique ou d’un système pour lequel vous disposez d’une autorisation écrite.

En revanche, tester le serveur SSH d’un tiers sans son accord est interdit. Même si vous ne trouvez aucun mot de passe, le simple fait d’envoyer des centaines de tentatives de connexion peut être considéré comme une attaque.

Pour suivre ce tutoriel sereinement, travaillez uniquement sur une machine virtuelle locale, un serveur de formation ou une plateforme volontairement vulnérable prévue à cet effet.

Qu’est-ce qu’une connexion SSH ?

SSH signifie « Secure Shell ». Il s’agit d’un protocole permettant de se connecter à distance à une machine depuis un terminal.

Par exemple, un administrateur peut utiliser SSH pour gérer un serveur sans avoir besoin d’être physiquement devant celui-ci.

Une connexion classique ressemble à ceci :

ssh alban@192.168.1.50

Dans cet exemple :

ssh              # lance le client SSH
Alban            # représente le nom de l'utilisateur
192.168.1.50     # correspond à l'adresse IP de la machine distante

Après avoir exécuté cette commande, le serveur demande généralement le mot de passe du compte Alban.

Le problème apparaît lorsque ce mot de passe est trop simple. Des valeurs comme azertypassword123456 ou le prénom de l’utilisateur peuvent être rapidement testées par un outil automatisé.

  • C’est précisément ce que permet d’évaluer Hydra.

Comment fonctionne Hydra avec SSH ?

Hydra ne « devine » pas magiquement les mots de passe. Il utilise une liste de mots, souvent appelée une wordlist, puis essaie chaque ligne de cette liste sur le service ciblé.

Imaginons un fichier contenant les mots de passe suivants :

azerty
password
bonjour
admin123
Soleil2026

Hydra tente d’abord azerty, puis password, ensuite bonjour, et ainsi de suite jusqu’à la fin du fichier ou jusqu’à la découverte d’un identifiant valide.

Hacker une connexion SSH avec Hydra et une wordlist

Cette méthode est appelée une attaque par dictionnaire. Contrairement à une attaque par force brute complète, elle ne teste pas toutes les combinaisons possibles. Elle se concentre sur une liste de mots de passe préalablement préparée.

Pour résumé, une wordlist est tout simplement une liste de mots de passe enregistrés dans un fichier texte. Chaque ligne contient un mot ou un mot de passe différent. Des outils comme Hydra les testent automatiquement les uns après les autres pour vérifier si un mot de passe est suffisamment robuste ou, dans un cadre autorisé, pour retrouver un mot de passe oublié.

👉 Pour en savoir plus sur les wordlists :

Vérifier que le service SSH est accessible

Avant d’utiliser Hydra, vérifiez que vous pouvez atteindre la machine cible et que son service SSH fonctionne.

Vous pouvez commencer par envoyer une requête ping, c’est la première étape pour tenter de vérifier que la cible existe et est disponible :

ping -c 4 192.168.1.50

La commande est composée ainsi :

ping           # vérifie si une machine répond sur le réseau
-c 4           # limite le test à quatre requêtes
192.168.1.50   # adresse IP de la machine de laboratoire

Attention toutefois : une machine peut bloquer les requêtes ping tout en laissant SSH accessible. Une absence de réponse ne signifie donc pas forcément que le serveur est hors ligne.

👉 Tout savoir sur l’utilisation de la commande Ping.

Vous pouvez ensuite tester directement une connexion SSH :

ssh eleve@192.168.1.50
  • Si le serveur vous demande un mot de passe, le service est probablement actif.

Vous pouvez également contrôler le port SSH avec Nmap, toujours dans votre environnement autorisé :

nmap -p 22 192.168.1.50

Le port 22 est le port utilisé par défaut par SSH. Si Nmap affiche open, cela signifie qu’un service écoute sur ce port.

👉 Tutoriel complet sur Nmap.

Préparer une liste de mots de passe

Pour effectuer un test pédagogique, créez une petite liste contenant quelques mots de passe.

Dans le terminal, utilisez par exemple Nano :

nano mots-de-passe.txt

Ajoutez ensuite quelques valeurs de test :

azerty
bonjour123
admin
test1234
MotDePasseTest!

Enregistrez le fichier avec Ctrl + O, validez avec Entrée, puis quittez Nano avec Ctrl + X.

Pour vérifier le contenu du fichier, utilisez :

cat mots-de-passe.txt

Gardez volontairement une liste courte pour votre premier essai. Inutile de lancer immédiatement une wordlist gigantesque et de faire chauffer votre machine.

Comprendre la commande Hydra pour SSH

La syntaxe de départ est la suivante :

hydra -l <username> -P <full path to pass> <machine-ip> -t 4 ssh

Prenons un exemple concret :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 4 ssh

Cette commande demande à Hydra de tester plusieurs mots de passe pour le compte eleve sur le serveur SSH situé à l’adresse 192.168.1.50.

L’option -l

L’option -l, avec un L minuscule, indique un seul nom d’utilisateur :

-l eleve

Hydra essaiera donc tous les mots de passe de la liste sur le compte eleve.

Il ne faut pas confondre -l avec -L. L’option -L, avec un L majuscule, sert à charger un fichier contenant plusieurs noms d’utilisateurs.

Dans notre cas, nous connaissons déjà le compte à contrôler. L’option -l est donc suffisante.

L’option -P

L’option -P, avec un P majuscule, indique le chemin vers le fichier de mots de passe :

-P /home/kali/mots-de-passe.txt

Un chemin complet commence généralement à la racine du système, représentée par /.

Pour connaître le chemin exact du fichier présent dans votre dossier actuel, utilisez :

realpath mots-de-passe.txt

Le terminal peut alors afficher :

/home/kali/mots-de-passe.txt

Vous pouvez copier ce résultat dans la commande Hydra.

Une erreur dans le chemin est l’un des problèmes les plus fréquents chez les débutants. Hydra ne peut évidemment pas lire un fichier qui n’existe pas, même en lui demandant gentiment.

L’adresse IP de la cible

L’adresse suivante correspond à la machine que vous testez :

192.168.1.50

Vous devez la remplacer par l’adresse IP réelle de votre serveur de laboratoire.

Pour connaître l’adresse IP d’une machine Linux, vous pouvez exécuter sur celle-ci :

ip addr

Repérez ensuite une adresse comme :

192.168.1.50

Les adresses commençant par 192.16810 ou certaines adresses en 172 sont généralement utilisées dans les réseaux privés.

👉 Tout savoir sur les adresses IP.

L’option -t 4

L’option -t définit le nombre de tâches exécutées en parallèle :

-t 4

Avec cette valeur, Hydra peut effectuer jusqu’à quatre tentatives simultanément.

Plus le nombre est élevé, plus le test peut être rapide. Cependant, une valeur trop importante peut surcharger le serveur, rendre les résultats moins fiables ou déclencher des mécanismes de protection.

Dans un laboratoire pédagogique, -t 4 constitue une valeur raisonnable pour commencer.

Formation web et informatique - Alban Guillier - Formateur

Des formations informatique pour tous !

Débutant ou curieux ? Apprenez le développement web, le référencement, le webmarketing, la bureautique, à maîtriser vos appareils Apple et bien plus encore…

Formateur indépendant, professionnel du web depuis 2006, je vous accompagne pas à pas et en cours particulier, que vous soyez débutant ou que vous souhaitiez progresser. En visio, à votre rythme, et toujours avec pédagogie.

Découvrez mes formations Qui suis-je ?

Vous pouvez même réduire la cadence :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 1 ssh

Avec -t 1, Hydra ne lance qu’une tentative à la fois. Le test sera plus lent, mais aussi plus doux pour la machine cible.

Le mot ssh

Le dernier élément indique le protocole à tester :

ssh

Hydra prend en charge différents services réseau. Il doit donc savoir quel module utiliser pour communiquer correctement avec la cible.

Ici, nous lui indiquons explicitement qu’il doit tester une authentification SSH.

Lancer le test

La commande complète peut maintenant être exécutée :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 4 ssh

Selon votre version de Hydra, vous verrez plusieurs informations s’afficher :

Hydra starting
attacking ssh://192.168.1.50

Si un mot de passe valide est trouvé, une ligne similaire peut apparaître :

[22][ssh] host: 192.168.1.50   login: eleve   password: MotDePasseTest!

Cette ligne indique :

[22][ssh]             # le port et le protocole utilisés
host: 192.168.1.50    # la machine testée
login: eleve          # le nom du compte
password: ...         # le mot de passe trouvé dans la liste

Dans un véritable audit, ce résultat démontre que le mot de passe du compte peut être découvert à partir d’une simple liste. Il doit donc être modifié immédiatement.

Arrêter le test après le premier résultat

Lorsque vous contrôlez un seul compte, il n’est généralement pas utile de continuer après la découverte d’un mot de passe valide.

Vous pouvez ajouter l’option -f :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 4 -f ssh

L’option -f demande à Hydra d’arrêter le test lorsqu’une combinaison valide est trouvée.

Cette précaution limite les requêtes inutiles et réduit la charge envoyée au serveur.

Afficher davantage d’informations

Pour comprendre le déroulement du test, vous pouvez activer le mode verbeux avec -vV :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 1 -f -vV ssh

L’option -vV affiche davantage de détails sur les tentatives effectuées.

Elle est intéressante dans un cours, car elle permet de voir Hydra parcourir progressivement la liste. En revanche, l’affichage devient rapidement très chargé avec une grande wordlist.

Utilisez donc ce mode uniquement avec un petit fichier pédagogique.

Tester un port SSH personnalisé

SSH utilise normalement le port 22. Cependant, un administrateur peut configurer le service sur un autre port, par exemple le port 2222.

Dans ce cas, vous pouvez utiliser l’option -s :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -s 2222 -t 4 -f ssh

Ici :

-s 2222

indique à Hydra de contacter le port 2222 au lieu du port SSH par défaut.

Changer le port SSH ne remplace pas un véritable mécanisme de sécurité, mais cela peut réduire certains scans automatisés très basiques.

👉 Apprenez aussi à vous connecter à votre serveur mutualisé avec SSH

Comprendre les erreurs fréquentes

Hydra ne trouve pas le fichier

Si vous voyez une erreur indiquant que le fichier est introuvable, vérifiez son chemin :

ls -l /home/kali/mots-de-passe.txt

Si le fichier existe, son nom et ses informations apparaîtront dans le terminal.

Vous pouvez aussi utiliser :

realpath mots-de-passe.txt

afin d’obtenir automatiquement son chemin absolu.

La connexion est refusée

Un message comme Connection refused signifie souvent qu’aucun service SSH n’écoute sur le port ciblé.

Vérifiez d’abord le port 22 :

nmap -p 22 192.168.1.50

Le service SSH peut également être arrêté, filtré par un pare-feu ou configuré sur un autre port.

Hydra annonce de nombreux délais d’attente

Des messages de type timeout indiquent que la machine répond trop lentement ou ne répond pas.

Réduisez le nombre de tâches :

hydra -l eleve -P /home/kali/mots-de-passe.txt 192.168.1.50 -t 1 -f ssh

Assurez-vous également que les deux machines sont bien connectées au même réseau de laboratoire.

Aucun mot de passe n’est trouvé

Ce résultat ne signifie pas nécessairement que le compte est parfaitement sécurisé. Il indique simplement qu’aucun mot de passe présent dans votre fichier n’a fonctionné.

Une attaque par dictionnaire dépend entièrement de la qualité de la liste utilisée. Si le véritable mot de passe n’y figure pas, Hydra ne pourra pas l’inventer.

Dans un cadre défensif, c’est justement une bonne raison d’utiliser une phrase de passe longue, originale et absente des listes courantes.

Comment protéger un serveur SSH ?

Une fois le test terminé, l’objectif consiste à corriger les faiblesses observées.

La première mesure est d’utiliser un mot de passe long et unique. Une phrase de passe composée de plusieurs mots inattendus est généralement plus résistante qu’un mot de passe court rempli de substitutions prévisibles.

Vous pouvez également limiter les tentatives de connexion avec un outil comme Fail2ban. Celui-ci surveille les échecs répétés et bloque temporairement les adresses IP trop insistantes.

La mesure la plus efficace consiste souvent à désactiver l’authentification SSH par mot de passe et à utiliser des clés cryptographiques.

Une clé SSH fonctionne comme un système de serrure et de clé numérique. Le serveur conserve une clé publique, tandis que l’utilisateur possède une clé privée. Sans cette clé privée, la connexion est refusée.

Dans le fichier de configuration SSH, l’authentification par mot de passe peut être désactivée avec :

PasswordAuthentication no

Cette modification doit être effectuée avec prudence. Vérifiez d’abord que la connexion par clé fonctionne, sinon vous risquez de vous enfermer hors de votre propre serveur. Ce serait une excellente démonstration pédagogique, mais une assez mauvaise journée d’administrateur système.

👉 Tout savoir pour Sécuriser ses connexion SSH

Aller plus loin dans l’audit SSH

Tester un mot de passe avec Hydra n’est qu’une petite partie d’un audit SSH complet.

Vous pouvez ensuite vérifier la version du service, examiner sa configuration, contrôler les comptes autorisés, désactiver la connexion directe de l’utilisateur root et analyser les journaux d’authentification.

Un bon pentest ne consiste pas seulement à trouver une faiblesse. Il cherche surtout à comprendre pourquoi elle existe, quelles conséquences elle pourrait avoir et comment la corriger durablement.

Hydra peut-il tester autre chose qu’une connexion SSH ?

Oui. Hydra prend en charge de nombreux services d’authentification comme FTP, HTTP, HTTPS, SMB, RDP ou encore Telnet. Le principe reste le même : il teste des identifiants sur le protocole choisi.

Pourquoi Hydra ne trouve-t-il aucun mot de passe ?

Le mot de passe recherché n’est peut-être tout simplement pas présent dans votre liste. Il est également possible que le serveur limite les tentatives de connexion, que le mauvais nom d’utilisateur soit utilisé ou que le service SSH ne soit pas accessible.

Comment protéger un serveur SSH contre Hydra ?

La meilleure protection consiste à utiliser des mots de passe longs et uniques, à limiter les tentatives de connexion avec un outil comme Fail2ban et, surtout, à privilégier l’authentification par clé SSH plutôt que par mot de passe.


Hydra permet de mettre en évidence une réalité parfois inconfortable : un mot de passe qui semble acceptable pour un humain peut être testé en quelques instants par un programme automatisé.

Utilisé dans un environnement autorisé, cet outil devient donc un excellent support pédagogique. Il permet de visualiser concrètement le fonctionnement d’une attaque par dictionnaire et de mesurer l’importance d’une politique de mots de passe sérieuse.

La suite logique consiste désormais à renforcer votre serveur SSH : configurez une authentification par clé, limitez les tentatives répétées et surveillez les journaux de connexion. Vous ne vous contenterez plus de constater qu’une porte est fragile : vous apprendrez à installer une serrure réellement adaptée.

👉 Découvrez également comment craquer un formulaire web de login avec Hydra.