Forum général.général vérifier la passphrase d'une clef ssh

Posté par  . Licence CC By‑SA.
Étiquettes :
6
23
mar.
2021

Comment retrouver sa passphrase quand on ne s'en est plus servie depuis un moment ? j'ai un indice pour me souvenir à peu près de ma passphrase, mais il reste assez de possibilités pour me faire bannir de tous mes serveurs si je la teste dessus.
Connaissez-vous un moyen simple de vérifier localement ma passphrase sans recourir à un serveur SSH ? Le man est assez peu disert là-dessus.

  • # Avec ssh-add

    Posté par  . Évalué à 9.

    Normalement, tu as ta clef privée sur ta machine, dans son répertoire .ssh comme il se doit. Il est possible de la déchiffrer avec openssl mais la méthode varie un peu en fonction de l'algorithme utilisé. Nous allons donc utiliser un outils qui déchiffre naturellement la clef en local: ssh-add, qui sert à charger celle-ci dans l'agent ssh (on suppose qu'il est lancé)

    1) Prépare ta combinatoire de mots de passe dans un fichier passwords.txt (un par ligne)
    2) Crée un script pour remplacer le prompt du mot de passe: crack.sh

        #!/bin/bash
        tail -n 1 passwords.txt > last.txt
        echo -e 'p\nd\nw\nq\n' |ed -s passwords.txt

    Ce script stocke la dernière ligne dans last.txt et l'efface. Quand il n'y a plus de ligne, l'erreur provoquée dans ed fera terminer ssh-add.

    3) Lançons ssh-add avec:

        $ SSH_ASKPASS='./crack.sh' ssh-add </dev/null 
        Identity added: /home/pma/.ssh/id_rsa

    Trouvé! Dans le cas contraire, passwords.txt est vide à la fin.

    • [^] # Re: Avec ssh-add

      Posté par  . Évalué à 4.

      Très astucieux. En plus on a une trace écrite.

  • # en local

    Posté par  . Évalué à 3.

    Tu peux tenter avec ssh localhost ? (il y a sans doute mieux avec les outils ssh, mais la flemme :) )

  • # ssh-keygen -y -f keyfile

    Posté par  (site Web personnel) . Évalué à 9.

    Pour tester rapidement quelques mots de passe, l’option -y de ssh-keygen fait l’affaire :

    $ ssh-keygen -y -f keyfile
    

    keyfile est le fichier contenant la clef privée chiffrée. Le programme demandera le mot passe pour déchiffrer la clef et afficher la clef publique correspondante.

    • [^] # Re: ssh-keygen -y -f keyfile

      Posté par  . Évalué à 4. Dernière modification le 23/03/21 à 22:19.

      Merci, c'est exactement la commande que je cherchais.
      J'aime aussi l'idée de pma ci-dessus qui permet de créer toutes les variantes plausibles.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.