web-dev-qa-db-fra.com

Est-il possible de partager un fichier de clé privée entre plusieurs ordinateurs/services?

Nous savons donc tous comment utiliser une clé publique/privée en utilisant SSH, etc. Mais quel est le meilleur moyen de les utiliser/de les réutiliser? Devrais-je les garder dans un endroit sûr pour toujours? Je veux dire, il me fallait une paire de clés pour accéder à GitHub. J'ai créé une paire à partir de rien et je l'ai utilisée pendant un certain temps pour accéder à GitHub. Ensuite, j'ai formaté mon disque dur et perdu cette paire. Gros problème, j'ai créé une nouvelle paire et configuré GitHub pour utiliser ma nouvelle paire. Ou est-ce quelque chose que je ne veux pas perdre?

J'avais également besoin d'une paire de clés publique/privée pour accéder aux systèmes de notre entreprise. Notre administrateur m'a demandé ma clé publique et j'ai généré une nouvelle paire et la lui ai donnée. Est-il généralement préférable de créer une nouvelle paire pour accéder à différents systèmes ou est-il préférable d’avoir une paire et de la réutiliser pour accéder à différents systèmes? De même, est-il préférable de créer deux paires différentes et d’en utiliser une pour accéder aux systèmes de notre entreprise depuis chez vous et l’autre pour accéder aux systèmes depuis le travail, ou est-il préférable d’avoir une seule paire et de l’utiliser depuis les deux endroits?

108
Behrang

Vous devez absolument avoir des clés privées séparées par origine . En gros, cela signifie qu’il devrait généralement y avoir une seule copie de chaque clé privée (sans compter les sauvegardes). Il est correct d'utiliser la même clé privée provenant d'une machine étroitement liée, dans les cas où une intrusion dans l'une vous donne essentiellement accès à l'autre (par exemple, si elles se trouvent dans le shosts.equiv de l'autre). N'utilisez pas la même clé privée sur des machines appartenant à des domaines différents (par exemple, maison et travail), ne partagez jamais une clé privée entre deux utilisateurs et ne partagez jamais une clé privée entre un ordinateur portable et une autre machine.

Pour la plupart, je ne vois pas l'intérêt d'avoir différentes clés privées pour différentes destinations. Si une clé privée est compromise, toutes les autres clés privées stockées dans le même répertoire le seront sûrement également, ce qui entraînera une complication supplémentaire sans aucun avantage pour la sécurité.

Si vous suivez ces principes, chaque paire de clés identifie une paire (machine, utilisateur), ce qui facilite la gestion des autorisations.

Je peux penser à deux exceptions à la règle générale d'une seule clé privée par origine:

  • Si vous disposez d'une clé sans mot de passe donnant uniquement accès à une commande spécifique sur une machine spécifique (par exemple, un mécanisme de sauvegarde ou de notification automatique), cette clé doit être différente de la clé d'accès Shell générale.
  • Si certaines machines sont connectées par intermittence, vous pouvez avoir une ancienne clé privée à côté d'une nouvelle clé privée, jusqu'à ce que vous ayez fini de déployer la nouvelle clé.
84
Gilles

Je ne sais pas quelle est la meilleure façon mais je peux dire quelle est ma façon de faire.

En tant qu'administrateur système, j'utilise une clé différente pour accéder à chaque serveur/service en tant que root. De cette façon, si une clé est perdue ou compromise, je limite les risques à un seul serveur et je n'ai pas besoin de mettre à jour tous mes services avec de nouvelles clés.

En parlant d’utilisateurs, j’utilise une clé différente pour chacun d’eux. Avec cette clé, l'utilisateur peut accéder au service dont il a besoin en tant qu'utilisateur non privilégié. De cette façon, je peux facilement accorder ou révoquer l'accès à des services uniques à chaque utilisateur. Si l'utilisateur perd sa clé, je peux la supprimer de tous les services et limiter le risque d'accès non autorisé.

4
MariusPontmercy

Je pense que vous pouvez utiliser la clé privée n’importe où, à condition de mettre une phrase secrète dessus, ce qui signifie que si vous souhaitez partager votre clé privée avec quelques machines, par exemple, les ordinateurs portables 1, 2 et 1, le bureau 2 devraient très bien fonctionner.

D'après mon expérience, mon ordinateur principal est mon ordinateur de bureau. Je fais la plupart de mon travail avec son processeur puissant, mais j'ai parfois besoin d'utiliser mon ordinateur portable sur un portable, de dépanner un centre de données, etc., de sorte que je puisse toujours me connecter à n'importe quel hôte. que ma clé publique réside dans.

1
Grant Skywalker

Dans mon entreprise, nous utilisons ces clés spécifiques à l'utilisateur. Cela signifie cas deux. L'utilisateur a sa propre clé, qui est utilisée pour chaque machine qu'il utilise pour se connecter au système de l'entreprise. Mon avis est d'utiliser une clé pour un système. Cela signifie que vous utilisez cette clé sur chaque machine dont vous avez besoin pour vous connecter à des réseaux spécifiques. Dans votre cas, il s'agirait d'une clé pour GitHub et d'une clé pour le système de l'entreprise. Donc, si votre administrateur vous le redemande, je lui donnerais la même clé que la dernière fois. pas une nouvelle. Mais, je ne sais pas s’il existe une politique d’utilisation commune pour ces clés et je me trompe depuis. C'est sûr possible ;-)

0
Diskilla

La clé publique que vous avez générée est pour tout le monde. Cela leur permettra de a) vérifier l'authenticité b) de crypter pour vous

La clé privée est bien privée. C'est seulement pour toi. Et c’est la clé que vous devez sauvegarder quelque part, dans un endroit sûr. Vous pouvez également le chiffrer avec un mot de passe sécurisé si vous l’enregistrez sur une clé USB par exemple.

La clé publique est votre identité aux autres. Donc, il n’ya pas de problème/il est préférable d’utiliser une paire de clés pour tout, du moins lorsque vous ne souhaitez pas utiliser une nouvelle identité explicite, afin que les autres ne sachent pas que c’est vous.

0
Kissaki