web-dev-qa-db-fra.com

Est-ce une mauvaise idée d'utiliser la même clé SSH privée sur plusieurs ordinateurs?

J'ai récemment acheté un ordinateur portable à partir de laquelle j'ai besoin d'accéder aux mêmes hôtes distants que je fais de mon bureau. Cela m'est arrivé qu'il serait peut-être possible de simplement copier le fichier de clé privé de mon ordinateur de bureau à mon ordinateur portable et d'éviter d'ajouter une nouvelle clé à l'~/.ssh/authorized_keys Fichiers sur tous les hôtes que je veux accéder. Donc, mes questions sont:

  1. Est-ce seulement possible?
  2. Y a-t-il des implications de sécurité non évidentes?
  3. Parfois, je me connecterai dans mon ordinateur de bureau de mon ordinateur portable. S'il y avait l'utilisation de la même clé, cela causerait-il des problèmes?
37
Jason Creighton

Oui, c'est possible. Votre clé privée n'est pas liée à une seule machine.

Je ne sais pas ce que vous entendez par non évident, cela est souvent subjectif;). Ce n'est pas du tout une mauvaise idée si vous vous assurez d'avoir un ensemble de phrase secrète très solide, 20 caractères au moins.

Il n'y a pas de problèmes concernant la connexion avec la même clé que votre bureau. Je configurerais un agent SSH pour votre clé de l'ordinateur portable et transmettez l'agent sur le bureau. Vous allez donc utiliser cette clé d'autres systèmes à partir de là.

De la page Homme SSH-Agent sur un système Linux:

sSH-Agent est un programme pour contenir des clés privées utilisées pour une authentification publique (RSA, DSA). L'idée est que SSH-Agent est démarré au début d'une session X ou d'une session de connexion, et toutes les autres fenêtres ou programmes sont démarrés en tant que clients du programme SSH-Agent. Grâce aux variables d'environnement, l'agent peut être situé et utilisé automatiquement pour l'authentification lors de la connexion à d'autres machines utilisant SSH (1).

Vous allez exécuter cela sur votre ordinateur portable, soit le programme SSH-Agent sur Linux/UNIX (il est livré avec OpenSSH) ou avec un agent de mastic si vous utilisez Windows. Vous n'avez pas besoin de l'agent exécuté sur des systèmes distants, il conserve purement votre clé privée en mémoire sur le système local, vous devez donc seulement entrer votre phrase secrète une fois, pour charger la clé de l'agent.

Le transfert de l'agent est une caractéristique du client SSH (ssh ou mastic) qui persiste simplement l'agent à d'autres systèmes via la connexion SSH.

31
jtimberman

J'avais l'habitude d'utiliser une seule clé privée sur toutes mes machines (et certaines d'entre elles, je suis un utilisateur que sur, pas un administrateur), mais a récemment changé cela. Cela fonctionne avec la seule clé, mais signifie que si vous devez révoquer la clé (si elle est compromise), vous devrez alors la modifier sur toutes les machines.

Bien sûr, si un attaquant a accès et est capable de ssh dans une autre machine, ils peuvent ensuite obtenir la clé de cette machine, etc. Mais cela me fait sentir un peu plus sûr de savoir que je peux révoquer une seule clé et verrouiller cette machine. Cela signifie que je dois supprimer la clé du fichier autorisé_keys, cependant.

10
Matthew Schinckel