2 votes

Questions sur la clé ssh

J'ai quelques questions concernant la génération de clés pour l'accès ssh :

(1) Supposons que deux ordinateurs exécutent le service de serveur ssh et que j'ai généré une paire de fichiers clés sur l'ordinateur A et copié le fichier public sur l'ordinateur B. Est-il vrai qu'il s'agit seulement d'une clé à sens unique ? Nous avons seulement autorisé l'ordinateur A à accéder à l'ordinateur B, et non l'ordinateur B à accéder à l'ordinateur A ? Si je veux maintenant me connecter en ssh de l'ordinateur B à l'ordinateur A, dois-je générer une autre paire de fichiers clés sur l'ordinateur B et copier le fichier public sur l'ordinateur A ?

(2) Si je souhaite connecter un seul ordinateur local à plusieurs serveurs distants, dois-je générer une paire commune de fichiers clés une seule fois sur l'ordinateur local et copier le même fichier public sur les serveurs distants, ou dois-je générer différentes paires de fichiers clés sur l'ordinateur local pour différents serveurs distants ?

(3) Si je souhaite connecter plusieurs ordinateurs locaux à un seul serveur distant, lorsque je copie les fichiers publics des différents ordinateurs locaux sur le serveur distant, dois-je les combiner dans un seul fichier authorized_keys ou les stocker dans différents fichiers authorized_keys ?

(4) Si plusieurs serveurs partagent le même système de fichiers, par exemple via NFS, comment générer des clés et organiser les fichiers de clés pour accéder d'un serveur à l'autre ? De même, comment générer des clés et organiser les fichiers de clés pour qu'un ordinateur local puisse accéder à n'importe lequel des serveurs ?

Veuillez fournir des exemples et des commandes dans votre réponse afin que je puisse mieux comprendre comment résoudre les problèmes.

Merci et salutations !

3voto

David Spillett Points 22424
  1. Oui, c'est le cas. La machine qui possède la moitié privée de la clé peut s'authentifier contre celles qui possèdent la moitié publique. Vous pouvez bien sûr avoir la même clé privée sur deux machines ou plus, mais si vous n'avez pas de phrase de passe sur la clé, vous ne devriez pas faire cela pour les serveurs auxquels vous ne faites pas confiance à 100 %, tels qu'un serveur partagé externe (de toute façon, les clés sans phrase de passe ne sont pas recommandées).

  2. Il est courant d'utiliser la même clé publique sur plusieurs serveurs, tout comme si l'on utilisait des clés publiques et privées pour signer des courriers électroniques (tout le monde utilise généralement la même clé publique pour vérifier les signatures de votre clé privée) - ce qui n'est pas le cas ci-dessus pour ce qui est de la non-contrefaçon. Par exemple, ma clé me@homemachine peut me connecter à mon serveur domestique, à mon serveur distant et à plusieurs machines virtuelles. J'ai cependant une autre paire de clés pour me@homeserver (en raison de la note 1 ci-dessus), mais elle peut également être utilisée pour m'authentifier auprès d'une sélection de comptes ailleurs. Cela dit, rien ne vous empêche d'avoir plusieurs clés privées pour chaque compte utilisateur que vous détenez si vous le souhaitez.

  3. Toutes les clés autorisées pour un compte de destination donné existent dans un seul fichier authorized_keys.

  4. Cela dépend. Votre répertoire personnel, ou même tout le reste, se trouve-t-il sur la ressource partagée (NFS) ?

http://novosial.org/openssh/publickey-auth/ est une ressource qui est apparue après une recherche rapide lorsque j'ai répondu à une question connexe plus tôt, et elle semble pertinente ici aussi, bien qu'elle ne couvre peut-être pas votre dernier point. Les exemples de commandes seront pertinents pour Linux en supposant que vous utilisez OpenSSH (ce qui est très probablement le cas).

3voto

Andrew Grimm Points 928

( le service de serveur ssh et que j'ai généré une paire de généré une paire de fichiers clés sur l'ordinateur A et j'ai copié le fichier public sur l'ordinateur B. Est-il vrai qu'il s'agit d'une seulement une clé à sens unique : Nous n'avons donné à l'ordinateur A que l'autorisation d'accéder à l'ordinateur B. l'ordinateur A l'autorisation d'accéder à l'ordinateur l'ordinateur B, et non à l'ordinateur B d'accéder à l'ordinateur A ? d'accéder à l'ordinateur A ?

Oui.

I je veux maintenant me connecter en ssh de l'ordinateur B à l'ordinateur A, dois-je l'ordinateur A, dois-je générer une autre fichiers de clés sur l'ordinateur B et copier le copier le fichier public sur l'ordinateur A ?

Oui (bien que vous puissiez utiliser les mêmes fichiers de clés que ci-dessus, si A et B se font entièrement confiance).

( un seul ordinateur local à plusieurs serveurs distants, est-ce qu'il faut générer un une paire commune de fichiers de clés une seule fois sur sur l'ordinateur local et de copier le même fichier sur les serveurs distants, ou de générer différentes paires de fichiers de clés [ ] serveurs distants ?

Bien que les deux fonctionnent, il n'y a aucune raison d'utiliser plus d'un fichier clé ; c'est pourquoi vous avez choisi la deuxième option.

(3)

Oui, vous combinez toutes les clés dans un seul fichier authorized_keys.

(4) S'il y a plusieurs serveurs, partager par exemple, NFS, comment générer des clés et organiser les fichiers de clés pour l'accès d'un serveur à l'autre ? De même, comment Comment générer des clés et organiser les fichiers de clés pour l'accès d'un ordinateur local à un autre ? fichiers de clés pour qu'un ordinateur local puisse d'accéder à l'un ou l'autre des serveurs ?

NFS n'a pas d'importance pour SSH ; les fichiers doivent simplement se trouver au bon endroit. Il en va de même pour la génération des clés.

2voto

nik Points 6970
  1. Une paire de clés générée à partir d'un ordinateur 'A peut être utilisé pour se connecter à plusieurs autres ordinateurs.
    Cependant, vous pouvez copier la paire de clés de A 's '.ssh' vers un autre ordinateur 'B' et l'utiliser à partir de là également (pour se connecter à tous les ordinateurs dont vous avez autorisé l'accès à partir de ' A' avec ces informations d'identification).
    Cela rend l'accès moins sûr puisque les données privées sont désormais partagées entre deux ordinateurs. Mais cela peut fonctionner si ce n'est pas un problème.
  2. Comme je l'ai décrit plus haut, une seule paire de clés sur 'A' peut être utilisé pour accéder à autant de machines distantes que nécessaire en autorisant l'accès avec la clé publique de chacune d'entre elles.
  3. En 'authorized_keys' peut comporter plusieurs lignes d'autorisation (clés publiques), une par ligne.
  4. Lorsque vous avez partagé 'home' sur plusieurs ordinateurs (et l'espace de '.ssh' est donc partagé entre eux lorsque vous vous connectez), vous n'avez besoin que d'une seule paire de clés pour partager l'accès entre tous les ordinateurs. Placez la clé publique dans le fichier authorized_keys de ce fichier '.ssh '.

Quelques références,

  1. Authentification par clé publique OpenSSH
  2. SSH sans mot de passe
  3. Identités des utilisateurs SSH (SecurityFocus)

Mise à jour :

  • Le présent Page d'aide de l'Université de Cambridge contient un exemple de liste de clés autorisées.
  • Je pense que les différents fichiers ont été utilisés pour stocker différents types de clés.
    Comme le 'authorized_keys serait pour les clés RSA et le fichier
    les 'authorized_keys2 pour les clés DSA.
    Il existe un Article de SecurityFocus qui décrit ces fichiers, entre autres.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X