web-dev-qa-db-fra.com

Comment vérifier / vérifier / tester / valider mon mot de passe SSH?

Je pense avoir oublié le mot de passe de ma clé SSH, mais j'ai une idée de ce que cela pourrait être. Comment puis-je vérifier si j'ai raison?

255
joachim

Vous pouvez vérifier votre phrase secrète de clé SSH en essayant de la charger dans votre agent SSH. Avec OpenSSH, cela se fait via ssh-add.

Une fois que vous avez terminé, n'oubliez pas de décharger votre phrase secrète SSH du terminal en exécutant ssh-add -d

101

ssh-keygen -y

ssh-keygen -y vous demandera la phrase secrète (s'il en existe une).

Si vous entrez le mot de passe correct, il vous montrera la clé publique associée.
Si vous entrez le mot de passe incorrect, il affichera load failed.
Si la clé comporte non phrase secrète, elle non vous demandera une phrase secrète et vous montrera immédiatement la clé publique associée.

par exemple.,

Créez une nouvelle paire de clés publique/privée, avec ou sans phrase secrète:

$ ssh-keygen -f /tmp/my_key
...

Maintenant, voyez si vous pouvez accéder à la paire de clés:

$ ssh-keygen -y -f /tmp/my_key


Voici un exemple étendu montrant la sortie.

Créez une nouvelle paire de clés publique/privée, avec ou sans phrase secrète:

$ ssh-keygen -f /tmp/my_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /tmp/my_key.
Your public key has been saved in /tmp/my_key.pub.
The key fingerprint is:
de:24:1b:64:06:43:ca:76:ba:81:e5:f2:59:3b:81:fe [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     .+          |
|   . . o         |
|    = . +        |
|   = + +         |
|  o = o S .      |
|   + = + *       |
|    = o o .      |
|     . .         |
|      E          |
+-----------------+

Essayez d’accéder à la paire de clés en saisissant le mot de passe correct. Notez que la clé publique sera affichée et que le statut de sortie ($?) sera 0 pour indiquer le succès:

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBJhVYDYxXOvcQw0iJTPY64anbwSyzI58hht6xCGJ2gzGUJDIsr1NDQsclka6s0J9TNhUEBBzKvh9nTAYibXwwhIqBwJ6UwWIfA3HY13WS161CUpuKv2A/PrfK0wLFBDBlwP6WjwJNfi4NwxA21GUS/Vcm/SuMwaFid9bM2Ap4wZIahx2fxyJhmHugGUFF9qYI4yRJchaVj7TxEmquCXgVf4RVWnOSs9/MTH8YvH+wHP4WmUzsDI+uaF1SpCyQ1DpazzPWAQPgZv9R8ihOrItLXC1W6TPJkt1CLr/YFpz6vapdola8cRw6g/jTYms00Yxf2hn0/o8ORpQ9qBpcAjJN
$ echo $?
0

Essayez d’accéder à la paire de clés en saisissant une phrase secrète incorrecte. Notez que le message d'erreur "load failed" sera affiché (le message peut différer en fonction du système d'exploitation) et que l'état de sortie ($?) sera 1 pour indiquer une erreur:

$ ssh-keygen -y -f /tmp/my_key
Enter passphrase:
load failed
$ echo $?
1

Essayez d'accéder à une paire de clés sans phrase secrète. Notez qu'il n'y a pas d'invite pour la phrase secrète, la clé publique sera affichée et l'état de sortie ($?) sera 0 pour indiquer le succès:

$ ssh-keygen -y -f /tmp/my_key_with_no_passphrase
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLinxx9T4HE6Brw2CvFacvFrYcOSoQUmwL4Cld4enpg8vEiN8DB2ygrhFtKVo0qMAiGWyqz9gXweXhdmAIsVXqhOJIQvD8FqddA/SMgqM++2M7GxgH68N+0V+ih7EUqf8Hb2PIeubhkQJQGzB3FjYkvRLZqE/oC1Q5nL4B1L1zDQYPSnQKneaRNG/NGIaoVwsy6gcCZeqKHywsXBOHLF4F5nf/JKqfS6ojStvzajf0eyQcUMDVhdxTN/hIfEN/HdYbOxHtwDoerv+9f6h2OUxZny1vRNivZxTa+9Qzcet4tkZWibgLmqRyFeTcWh+nOJn7K3puFB2kKoJ10q31Tq19
$ echo $?
0
465
Rob Bednark

En étendant la solution de @ RobBednark à un scénario Windows + PuTTY spécifique, vous pouvez le faire:

  1. Générez une paire de clés SSH avec PuTTYgen (après génération manuelle de votre clé SSH sous Windows), en l'enregistrant dans un fichier PPK;

  2. Avec le menu contextuel de Windows Explorer, choisissez Edit with PuTTYgen. Il va demander un mot de passe.

Si vous tapez un mot de passe incorrect, il vous suffira de demander à nouveau.

Remarque: si vous aimez taper, utilisez la commande suivante sur un dossier contenant le fichier PPK: puttygen private-key.ppk -y.

2
kokbira

Si votre phrase secrète consiste à déverrouiller votre clé SSH et que vous n'avez pas ssh-agent, mais que sshd (le démon SSH) est installé sur votre ordinateur:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys;
ssh localhost -i ~/.ssh/id_rsa

~/.ssh/id_rsa.pub est la clé publique et ~/.ssh/id_rsa est la clé privée.

0
Alexx Roche