web-dev-qa-db-fra.com

Puis-je tester l'authentification avec une clé RSA localement?

Existe-t-il un moyen de vérifier localement si vous fournissez la phrase de passe correcte à une clé RSA?

J'ai récemment eu du mal à envoyer des validations à github, car le Push a demandé un mot de passe, puis l'authentification a échoué. J'ai vérifié que github avait la bonne clé publique pour le id_rsa fichier dans mon ~/.ssh et j'ai vérifié que je pouvais m'authentifier auprès de Github (si vous ssh [email protected] il vous dira que vous êtes authentifié mais qu'ils n'offrent pas d'accès Shell,) donc je savais que le problème était de ma part, pas de Github.

(Je dois souligner qu'à ce stade, j'ai simplement utilisé git format-patch pour obtenir mes validations sous forme de fichiers, puis j'ai supprimé mon référentiel de travail et re-cloné depuis Github, réappliqué les correctifs à l'aide de git am, et poussé sans aucun problème, donc quel que soit le problème d'origine, il est résolu.)

Cela m'a laissé me demander, cependant: comment pourrais-je savoir si un problème d'authentification avec un hôte distant me donnait la mauvaise phrase secrète à ma clé privée, ou si l'hôte distant ne reconnaissait pas ma clé? Existe-t-il un moyen de faire un test d'authentification avec la clé privée, localement, sans essayer de se connecter à un hôte distant?

34
pjmorse

Vous pouvez exécuter ssh-add Pour ajouter votre clé à votre ssh-agent Actuel. Cela vous demandera votre phrase secrète.

Normalement, lorsque ssh-agent Est en cours d'exécution et que vous y ajoutez une clé, vous n'aurez plus à déverrouiller votre clé lorsque vous vous connectez à des hôtes qui reconnaissent cette clé. Si ce n'est pas ce que vous voulez, exécutez simplement ssh-add -d Pour le supprimer de votre ssh-agent Lorsque vous avez terminé les tests.

19

Ou comme indiqué ici: Comment puis-je tester mes clés ssh localement sans serveur

Tu peux le faire:

ssh-keygen -y

Et cela ne nécessite aucun serveur (fonctionne très bien avec msysgit sous Windows).

45
gaborous