Authentification par clé SSH avec plusieurs ordinateurs

21

Je lisais sur l'authentification par clé SSH et la configurais avec mes 3 ordinateurs à la maison.

J'ai un ordinateur principal, appelez-le "A" et deux autres, appelez-les "B" et "C".

Maintenant, sur la base de la documentation que j'ai lue, je lancerais ssh-keygen sur B et C et mettrais les clés publiques sur l'ordinateur A en supposant que je serai toujours SSH sur l'ordinateur A, si je suis sur B ou C.

Mais, je pense que les exemples de documentation que j'ai lus supposent qu'un seul ordinateur personnel sera utilisé avec, disons, un autre ordinateur extérieur. Dans ma situation, est-il judicieux de simplement exécuter ssh-keygen sur un ordinateur et de copier les fichiers sur les autres? De cette façon, je n'ai besoin de sauvegarder qu'un seul jeu de clés? Et lorsque je me connecte à un ordinateur extérieur, je n'ai qu'à le configurer avec 1 jeu de clés et non à le configurer avec les trois ordinateurs.

Est-ce que ça a du sens? Y a-t-il des défauts ou des avertissements à considérer?

Merci.

linstar
la source

Réponses:

29

Vous pouvez théoriquement procéder dans les deux sens, mais ils ont chacun leurs avantages et leurs inconvénients:

Vous ne pouvez en effet créer qu'une seule clé, dire que c'est "la vôtre" (en tant que personne), la sécuriser quelque part et la copier sur n'importe quel ordinateur que vous utilisez. L'avantage est que vous pouvez vous connecter à A où que vous alliez, tant que vous possédez votre clé privée SSH. L'inconvénient est que tant que vous copiez votre clé privée d'un endroit à un autre, quelle que soit la manière, vous augmentez le risque qu'elle soit lue par quelqu'un qui écoute la connexion. Pire, si l'ordinateur C est volé, vous devez régénérer une nouvelle clé sur tous les ordinateurs qui utilisent cette clé et en distribuer une nouvelle.

D'un autre côté, l'utilisation d'une clé par utilisateur @ ordinateur présente l'avantage d'un "contrôle plus précis" sur "ce qui" peut se connecter "où". C'est la façon la plus courante de le faire.

Si, par exemple, vous deviez donner l'ordinateur C à votre frère / soeur / épouse / mari / ami / chien, ou à un voleur (sans votre approbation), il vous suffirait de retirer la clé des `` touches_autorisées '' de A fichier.

Donc, même si cela signifie "plus de clés dans les clés autorisées", je suggère la deuxième approche.

mveroone
la source
Vous ne pouvez pas déchiffrer un flux ssh avec la clé privée du client, et selon les paramètres du serveur, vous ne pouvez pas non plus le déchiffrer avec la clé privée du serveur. zurlinux.com/?p=1772
Dan Merillat
C'est vrai, et ce n'est pas ce que je voulais dire. Je voulais dire que si votre clé privée est volée, vous pouvez l'utiliser pour vous connecter à l'ordinateur A de n'importe où ailleurs. Cela peut être atténué en ajoutant un FROM = "<IP>" au début de la ligne authorized_keys. (voir la page de manuel de ssh)
mveroone
après l'avoir copié, j'ai dû insérer mon mot de passe pour l'utiliser sur mon autre ordinateur, je suppose que c'est au moins une certaine sécurité :)
OZZIE
3

L'utilisation des mêmes touches sur les trois ordinateurs est définitivement faisable - je le fais tout le temps, principalement pour des raisons de commodité.

Kwaio souligne correctement que cela augmente le risque de compromission de vos clés. Une solution possible serait de séparer les composants clés privés et publics. Donc:

  • Tous les ordinateurs ont votre clé publique dans le fichier authorized_keys.
  • Vous conservez 2 copies de votre clé privée; l'un est dans une clé USB autour de votre cou (à utiliser lorsque vous utilisez ssh pour accéder à un autre ordinateur), et l'autre est également dans une clé USB dans un coffre-fort quelque part (juste au cas où vous perdriez la première copie).

Si l'un de vos ordinateurs est volé ou que votre clé publique est autrement compromise - eh bien, c'est juste une clé publique, alors quoi.

Si votre clé privée est volée ou perdue, vous vous mettez immédiatement à générer une nouvelle paire de clés et à mettre à jour les clés publiques sur tous vos ordinateurs.

HTH.

ALAN WARD
la source
2
Ok, mais qu'est-ce que HTH?
mikeserv
3
HTH = Espoir qui aide.
ALAN WARD
1
Il serait judicieux de souligner que si vous placez votre clé privée dans un lecteur flash, il serait sage d'en faire une clé privée protégée par mot de passe. L'inconvénient de devoir saisir la phrase secrète à chaque fois peut être atténué en utilisant un agent (pagent sur windows, ssh-agent sur linux)
mveroone