Selon l'endroit où vous obtenez le fichier de clé publique que vous testez, la réponse acceptée peut donner des résultats faussement positifs. Ceci est dû au comportement décrit dans le commentaire de @drewbenn. Plus précisément, lorsque l'option -e est utilisée avec le fichier de clé privée comme paramètre de l'option -f, elle reprend simplement (mais en le reformatant) ce qui se trouve dans le fichier de clé publique associé.
En d'autres termes,
ssh-keygen -y -f id_rsa
(apparemment) génère la valeur de la clé publique, et
ssh-keygen -y -e -f id_rsa
simplement et sort (et reformate) la clé dans le fichier existant id_rsa.pub quoi qu'il en soit .
Dans mon cas, je dois vérifier que la paire n'a pas été corrompue. J'ai donc décidé de comparer les éléments suivants :
ssh-keygen -y -f id_rsa | cut -d' ' -f 2
avec
cut -d' ' -f 2 id_rsa.pub
Par conséquent :
diff <(cut -d' ' -f 2 id_rsa.pub) <(ssh-keygen -y -f id_rsa | cut -d' ' -f 2)
Cette solution n'est peut-être pas aussi souple, mais elle répond mieux à mes besoins. Peut-être que cela aide quelqu'un d'autre.
0 votes
Je vais confirmer la réponse de Michuelnik ; cela m'a évité de devoir créer une nouvelle paire de clés, merci.
ssh -v
aide aussi beaucoup.