Méthode pour déprécier la paire de clés SSH localement

10

J'utilise mes clés ssh depuis un moment. Je pense à mettre à niveau ma paire de clés ssh vers un cryptage plus fort et je ne connais pas tous les appareils sur lesquels mes clés sont enregistrées.

Est-il possible de "déprécier" une clé SSH localement afin que je reçoive un avertissement si je m'authentifie avec une clé SSH dépréciée?

tim0_o
la source
Pendant que vous y êtes, je vous suggère d'arrêter d'utiliser la même clé SSH pour plusieurs hôtes; il augmente inutilement la surface d'attaque ainsi que la valeur de cette clé en cas de brèche. Utilisez plutôt une clé pour chaque hôte auquel vous vous connectez; idéalement, utilisez une clé pour chaque paire de clients et de serveurs (mais cela évolue mal si vous avez plusieurs systèmes clients connectés à plusieurs serveurs). J'aime également marquer les clés avec la date de génération dans le commentaire ou le nom de la clé, ce qui me permet de garder une trace de leur âge. Ensuite, configurez un rappel récurrent tous les 6 à 24 mois environ dans votre calendrier pour le renouveler.
un CVn
@ MichaelKjörling Je ne suis pas d'accord avec la première partie de votre suggestion. La génération de nombreuses paires de clés où toutes les clés privées sont stockées sur la même machine avec les mêmes autorisations n'apporte aucune amélioration significative de la sécurité. Si l'un est compromis, il est fort probable que les autres le soient également. Et dans ce cas, avoir de nombreuses paires de clés signifie simplement qu'il y aura plus de travail à faire avec leur rotation une fois que vous verrez une raison de générer une nouvelle paire de clés. La partie concernant l'ajout d'une date de génération au commentaire est un bon conseil (je souhaiterais ssh-keygenle faire par défaut).
kasperd du
@kasperd Vous faites valoir un bon argument. Je suppose que comme toujours, cela dépend beaucoup de votre modèle de menace. Je soupçonne que j'ai implicitement supposé que les clés auraient des mots de passe différents, ce que je peux voir comment avec un grand nombre de clés pourrait ne pas toujours être pratique, sauf si vous êtes prêt à ajouter un gestionnaire de mots de passe au mélange. Il permet cependant quelque chose de très proche de ce que l'OP décrit, car une clé peut être "dépréciée" très facilement sans affecter les autres connexions. Je suppose qu'en fin de compte, c'est un peu une question de goût personnel.
un CVn

Réponses:

9

Je ne connais aucun moyen de faire quelque chose comme ça, mais je peux voir comment cela serait utile. Ce que je serais enclin à faire, c'est d'arrêter d'ajouter la clé obsolète à mon agent SSH. De cette façon, chaque fois qu'il sera utilisé, je devrai ressaisir la phrase secrète. Si c'est quelque chose comme "ugh, un autre à réparer", cela me rappellera à chaque fois que je dois aussi tourner ma clé sur cette machine.

womble
la source
à cet égard, il peut être utile (selon la distribution / DE) de déplacer le fichier vers un autre répertoire, par exemple , Seahorse utilise ~/. sshautomatiquement toutes les clés .
guntbert
1
Tout ce qui fait cela doit être brûlé. Cela signifie que le moment où vous avez plus de six clés (j'en ai quelques dizaines), vous finirez par échouer en raison de trop d'échecs (chaque clé présentée et rejetée compte pour le nombre d'échecs).
womble
5

Vous pouvez déplacer l'ancienne clé ssh vers un emplacement autre que celui par défaut (par exemple, ~ / .ssh / deprecated_id_rsa), puis créer une nouvelle clé ssh avec vos propriétés souhaitées dans ~ / .ssh / id_rsa

De cette façon, vous avez toujours votre clé obsolète disponible si nécessaire ssh -i ~/.ssh/deprecated_id_rsa ..., mais vous utiliserez par défaut votre nouvelle clé.

doigt de pied
la source