J'ai commencé à utiliser des clés SSH au lieu de mots de passe tout récemment (grâce à GitHub, bien sûr), alors gardez à l'esprit que je suis assez nouveau dans ce concept. Actuellement, mes clés se trouvent simplement dans ~/.ssh, mais je ne suis pas sûr que ce soit une bonne pratique. Par exemple, si j'ai plusieurs machines, je devrais dupliquer mes clés privées, ce qui n'est pas souhaitable. Ou, si mon disque dur tombe en panne, je perdrai ces clés, ce qui (je suppose) n'est pas souhaitable non plus.
Quelles sont donc les meilleures pratiques pour stocker les clés SSH de manière sûre, pratique et fiable ?
Il semble que l'utilisation d'une carte à puce soit une option (voir Cartes à puce pour le stockage des clés gpg/ssh (Linux) - de quoi ai-je besoin ? ), est-ce le meilleur ?
Mise à jour : La raison de la question était que de nombreux services (comme GitHub, AWS EC2) fournissent des guides sur la façon de configurer les clés SSH pour l'utilisation du service, mais peu ou pas de contexte (comme, que faire si vous avez déjà une clé générée par ssh-keygen
[1], quelles sont les mesures de sécurité recommandées). Et il n'est pas clair si ces informations sont en fait sans importance, ou si vous êtes censé les connaître "par défaut".
Pour résumer les réponses jusqu'à ce point (mais lisez-les s'il vous plaît, et si vous avez quelque chose à ajouter, faites-le) : il semble que dans ce cas, il n'y ait pas de problème si vous laissez vos clés privées dans ~/.ssh, tant que vous les tenez à l'écart des autres personnes ; mais assurez-vous que vous avez un autre moyen d'accéder au service pour télécharger ou générer une nouvelle clé si vous en perdez une (ce qui est normalement le cas).
[1] GitHub fournissait auparavant aide sur la façon de gérer les clés multiples .