Pour faciliter la configuration de SSH sans mot de passe sur de nouvelles machines et de nouveaux environnements, y a-t-il une raison pour laquelle le id_rsa.pub
fichier (juste la moitié publique de la paire de clés) n'a pas pu être publié quelque part sur le Web? Par exemple, dans un référentiel GitHub dotfiles.
Je suis conscient que:
- le
id_rsa
fichier (la moitié privée de la paire de clés) doit être soigneusement gardé et - la paire de clés doit être protégée par une phrase secrète
Mais mes recherches n'ont révélé aucun conseil explicite selon lequel cela est autorisé ou encouragé.
Par curiosité, le même conseil serait-il valable pour une paire de clés sans phrase secrète?
ssh
ssh-keys
github
passphrase
DouglasDD
la source
la source
Réponses:
RSA est spécialement conçu pour vous permettre de partager cette clé publique, donc oui, vous pouvez la publier. Ceci est assez similaire au fonctionnement de x.509 (et SSL) avec les certificats RSA.
Avant de publier le fichier, regardez-le; les seules choses qui doivent y être sont le mot-clé "ssh-rsa" et la clé encodée en base64. Vous voudrez peut-être en rester là (je pense que c'est la valeur par défaut maintenant).
Cela est vrai que la clé ait ou non une phrase secrète. Une phrase secrète crypte la clé privée et n'affecte pas la clé publique.
Assurez-vous, comme toujours, que votre clé est suffisamment entropique et large. S'il est généré par un PRNG cassé, il peut être prévisible. Cependant, publier cela ne présente pas beaucoup de risques supplémentaires, car si l'espace de clés est si petit, un attaquant pourrait simplement essayer avec toutes les clés de l'espace de clés énuméré jusqu'à ce qu'il obtienne la bonne.
Je suggère d'utiliser une clé de 4096 bits (spécifiez
-b 4096
), de sorte qu'il sera plus difficile que d'habitude (la valeur par défaut est 2048) pour quelqu'un d'inverser votre clé publique en une clé privée. C'est le seul risque important à faire cela, et ce n'est pas très grand car l'algorithme est spécifiquement conçu pour le rendre impraticable.la source
C'est déjà le cas. :) Il suffit de mettre ".keys" à la fin de l'URL de votre profil Github, comme ceci:
https://github.com/tjmcewan.keys
la source
Bien que, en règle générale, je ne recommande pas de mettre votre propre configuration spécifique dans les référentiels de projets publics (en supposant que le dépôt est pour tout le monde et que votre configuration est pour vous seul , c'est juste un peu grossier), les implications pour la sécurité sont minimes.
Le seul vecteur d'attaque raisonnable utilise en quelque sorte cette clé publique pour vous identifier dans un contexte malveillant. Ce que cela pourrait être me dépasse, mais la clé publique identifie de manière unique la clé privée, bien qu'elle ne donne aucune indication quant à son origine.
Il y a un vecteur d'attaque de cas d'angle qui ne s'applique probablement pas, mais si vous vous souvenez du fiasco avec Debian rompant accidentellement le PRNG openssl , toute clé ssh générée sur un système affecté est facilement prévisible et peut être identifiée par sa clé publique. Donc, dans ce cas, la publication de la clé publique pourrait vous poser des problèmes. Ou de façon plus appropriée, l' utilisation de cette clé pour n'importe quoi pourrait vous causer des ennuis.
la source
Oui, vous pouvez publier votre clé de pub SSH. Et vous pouvez publier une empreinte digitale du serveur en utilisant l' enregistrement SSHFP dans DNS! Cela peut être très pratique, par exemple, si vous devez mettre à jour / modifier la clé SSH d'un serveur.
la source