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


Nous savons donc tous comment utiliser des clés publiques / clés privées avec SSH, etc. Mais quelle est la meilleure façon de les utiliser / réutiliser? Devrais-je les garder dans un endroit sûr pour toujours? Je veux dire, j'avais besoin d'une paire de clés pour accéder à GitHub. J'ai créé une paire à partir de zéro et je l'ai utilisée pendant un certain temps pour accéder à GitHub. Ensuite, j'ai formaté mon disque dur et j'ai perdu cette paire. Big deal, 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 publiques / clés privées pour accéder à nos systèmes d'entreprise. Notre administrateur m'a demandé ma clé publique et j'ai généré une nouvelle paire et l'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 et l’autre pour accéder aux systèmes à partir du travail, ou est-il préférable d’avoir une seule paire et de l’utiliser des deux côtés?


105
2017-09-16 13:15


origine


Ce n’est pas une réponse directe à votre question, mais il est conseillé d’avoir des phrases secrètes pour chaque touche. Idéalement, séparez les phrases secrètes pour chaque clé (utilisez un gestionnaire de mots de passe). La raison en est la suivante: Si une clé privée est compromise (ordinateur portable volé, ordinateur piraté), il vous faudra un certain temps avant que la clé ne soit forcée et vous pouvez remplacer la clé publique sur toutes les machines , avant que votre attaquant puisse. La source: help.ubuntu.com/community/SSH/OpenSSH/ - Xandor Schiefer


Réponses:


Vous devriez certainement avoir des clés privées séparées par origine. Fondamentalement, cela signifie qu'il devrait généralement y avoir une seule copie de chaque clé privée (sans compter les sauvegardes). Il est acceptable d'utiliser la même clé privée à partir d'une machine étroitement liée, dans des situations où le fait de pénétrer l'un dans l'autre vous donne accès à l'autre (par exemple, si vous êtes l'un dans l'autre) shosts.equiv). N'utilisez pas la même clé privée sur des machines dans différents domaines (par exemple, à la maison et au travail), ne partagez jamais une clé privée entre deux utilisateurs et ne partagez jamais une clé privée entre un ordinateur portable et toute 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 seront sûrement également compromises, ce qui entraînerait des complications supplémentaires sans 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 clé privée unique par origine:

  • Si vous avez une clé sans mot de passe qui donne accès uniquement à une commande spécifique sur un ordinateur spécifique (par exemple, un mécanisme de sauvegarde ou de notification automatisé), cette clé doit être différente de la clé d'accès générale du shell.
  • Si certaines machines sont connectées par intermittence, vous pouvez avoir une ancienne clé privée avec une nouvelle clé privée, jusqu'à ce que vous finissiez de déployer la nouvelle clé.

83
2017-09-16 18:26



C'est comme ça que j'ai toujours utilisé ma paire de clés. Je n'ai pas compris pourquoi GitHub préconisait de générer une nouvelle paire de clés dans leurs instructions de configuration. J'ai ignoré cela et utilisé ma paire de touches standard. Je suppose qu'ils sont conservateurs. - toolbear74
Ok, vous dites donc "N'utilisez pas la même clé privée sur des machines dans des domaines différents" mais que se passe-t-il si DNS résout un nom d'hôte donné sur l'une ou l'autre machine en fonction de votre emplacement? Sans partage de la clé privée, j'obtiens des avertissements ou des échecs lorsque j'essaie de ssh ou de rsync sur ce nom d'hôte, car ssh a du mal à avoir deux clés distinctes pour le même nom d'hôte. - Michael
@Michael Je ne comprends pas quel problème vous pourriez avoir avec utilisateur clés dans le scénario que vous décrivez, et c'est ce dont il s'agit. SSH serait confus à propos de hôte clés, mais en tant qu'utilisateur ce que vous voyez est la clé publique de l'hôte, pas la clé privée de l'hôte, et le partage de la clé privée d'un hôte est dangereux - je recommande seulement que si les hôtes sont totalement équivalents ), et probablement même pas alors. - Gilles
Ah ok. On dirait qu'il n'y a pas beaucoup de distinction claire entre les deux, et on suppose que vous savez de qui on parle. - Michael
@JSBach Avoir des clés séparées par domaine vous permet de définir des autorisations plus précises (la clé stockée sur le domaine à faible sécurité A est autorisée entre les machines de A, mais la connexion à B nécessite un facteur d'authentification plus fort) et vous permet de les révoquer séparément (le domaine A a été compromis, mais je peux toujours me connecter à C à partir de B). SSO est le cas où vous vous connectez au système de sécurité le plus élevé, puis vous pouvez vous connecter ailleurs. Je ne sais pas quels risques ils voient en ayant plusieurs clés par utilisateur. Ce serait un sujet pour Sécurité de l'information. - Gilles


Je ne sais pas quel est le meilleur moyen mais je peux dire quelle est ma voie.

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 le risque à 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’entre 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 le supprimer de tous les services et limiter le risque d'accès non autorisé.


4
2017-09-16 14:28



+1 Je vais parler avec mon patron d'une nouvelle politique d'utilisation des clés ;-) par serveur / service semble encore plus sécurisé que par réseau - Diskilla


Dans mon entreprise, nous utilisons ces clés spécifiques à l'utilisateur. Cela signifie le cas deux. L'utilisateur a sa propre clé et celle-ci 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 aux réseaux spécifiques. Pour votre cas, ce serait une clé pour GitHub et une clé pour le système de l'entreprise. Donc, si votre administrateur vous le demande encore, je lui donnerais la même clé que la dernière fois. pas un nouveau. 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
2017-09-16 13:27





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) 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 le sauvegardez sur une clé USB par exemple.

La clé publique est votre identité aux autres. Donc, il n'y a pas de problème / il vaut mieux utiliser une paire de clés pour tout, du moins là où vous ne voulez pas utiliser une nouvelle identité explicite, pour que les autres ne sachent pas que c'est vous.


0
2017-09-16 13:30



Merci, mais votre réponse est, pour la plupart, sans rapport avec ma question. Voir la réponse de @ Diskilla. - Behrang


Je pense que vous pouvez utiliser la clé privée n'importe où, à condition que vous y ajoutiez une phrase secrète, ce qui signifie que si vous souhaitez partager votre clé privée avec peu de machines, les ordinateurs portables 1, 2 et 1, 2 devraient convenir.

D'après mon expérience, ma machine principale est mon ordinateur de bureau que je travaille principalement avec son puissant processeur, mais j'ai parfois besoin d'utiliser mon ordinateur portable sur mobile, de dépanner le centre de données, etc. que j'ai ma clé publique réside dans


0
2018-06-27 08:27



Lisez la meilleure réponse ici. Vous le faites mal. Ce n'est pas que vous ne puissiez pas le faire de cette façon mais vous ne devriez pas. - PhilT
Vous ne pouvez pas voir pourquoi toutes les downvotes. Les réseaux universitaires (par exemple) ont souvent un répertoire personnel en réseau, de sorte que la même clé privée est utilisée partout par un utilisateur, même sur les ordinateurs portables qui vous sont fournis. Tant que vous ne le copiez pas sur Internet, je pense que cela ne pose aucun problème si vous comprenez le risque. De plus, il est plus pratique de ne pas avoir à ajouter votre clé publique à 2 000 sites différents simplement parce que vous vous êtes connecté à un autre ordinateur. - Asfand Qazi
Voté parce que vous ne devriez pas perdre de rep pour cette réponse. Il s'agit d'une préférence personnelle, en utilisant évidemment une clé distincte par service et par machine, ce qui vous donne plus de contrôle, mais parfois, cela dépend de votre cas d'utilisation. - Daniel Dewhurst