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
- Comment fonctionne Hydra avec SSH ?
- Vérifier que le service SSH est accessible
- Comprendre la commande Hydra pour SSH
- Lancer le test
- Tester un port SSH personnalisé
- Comprendre les erreurs fréquentes
- Aucun mot de passe n’est trouvé
- Comment protéger un serveur SSH ?
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 azerty, password, 123456 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.

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 :
- Créer votre Wordlist
- Crunch : Générer une wordlist (pour du sur-mesure)
- SecLists : compilation de wordlists (la boîte à outils complète)
- rockyou.txt : Le fichier de pentest (la référence pour les mots de passe)
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.168, 10 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.
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.

Fondateur de l’agence Créa-troyes, affiliée France Num
Intervenant en Freelance.
Contactez-moi
