Gestion de allowed_keys sur un grand nombre d'hôtes
-
09-06-2019 - |
Question
Quel est le moyen le plus simple de gérer le fichier registered_keys pour openssh sur un grand nombre d'hôtes? Si je dois ajouter ou révoquer une nouvelle clé à un compte sur 10 hôtes, je dois me connecter et ajouter la clé publique manuellement ou à l'aide d'un script shell maladroit, qui prend beaucoup de temps.
Idéalement, il devrait exister une base de données centrale reliant les clés aux comptes @ machines avec une sorte de support de regroupement (IE, ajoutez cette clé au nom d'utilisateur X sur tous les serveurs de la catégorie Web). Il existe un fork de SSH avec prise en charge de LDAP, mais je préfère utiliser les packages SSH principaux.
La solution
Je vérifierais le projet Monkeysphere . Il utilise les concepts Web de confiance OpenPGP pour gérer les fichiers created_keys et known_hosts de ssh, sans nécessiter de modification du client ou du serveur ssh.
Autres conseils
J'utilise Puppet pour beaucoup de choses, y compris celle-ci. (en utilisant le type de ressource ssh_authorized_key)
Je l'ai toujours fait en conservant un "maître". arborescence des clés des différents serveurs et utiliser rsync pour mettre à jour les machines distantes. Cela vous permet de modifier des éléments en un seul endroit, de transférer efficacement les modifications et de maintenir les éléments à jour " - tout le monde édite les fichiers maîtres, personne ne les édite sur des hôtes aléatoires.
Vous voudrez peut-être examiner les projets conçus pour exécuter des commandes sur différents groupes de machines, tels que Func à l'adresse https: / /fedorahosted.org/func ou d’autres progiciels de gestion de la configuration du serveur.
Avez-vous envisagé d’utiliser Clusterssh (ou similaire) pour automatiser le transfert de fichiers? Une autre option est l’un des systèmes de configuration centralisés .
/ Allan