URL: https://linuxfr.org/users/ashmonger/journaux/gestion-de-cles-ssh-publiques-ssh-authorized_keys Title: Gestion de clés ssh publiques (~/.ssh/authorized_keys) Authors: ashmonger Date: 2019年04月13日T13:27:34+02:00 License: CC By-SA Tags: flask, jwt, debian, ssh et python Score: 15 Bon, je ne sais pas comment vous faites, mais après quelques temps dans une entreprise qui avait une idée assez originale pour la gestion et diffusion des clés SSH pour les accès aux serveurs (on fait des paquets debian qui s'installent avec Puppet, mais déployés tous les 36 du mois), je me suis dit qu'il fallait trouver autre chose. Et là, le bas blesse. Soit je suis une quiche en recherche sur les internets, soit il n'y a pas d'outils pour faire ça (spécifiquement). Il n'était pas possible de changer le comportement de Puppet dans l'entreprise, ni de rajouter des outils qui auraient pu aider à déployer du paquet de clés (Ansible, Salt...). N'étant pas dev, je me suis quand même sorti les doigts pour pondre un truc: **Sakeyra/Akeyra** ## Sakeyra C'est l'application _serveur_ du duo, elle permet avec une interface web assez simple de créer des environnements (prod, recette, préprod), des utilisateurs _locaux_ (root, maintenance, sauvegarde, toto) que l'on rattache à un environnements spécifique en précisant sa clé publique), des utilisateurs _distants_ (avec nom/prénom, adresse email, clé ssh publique, liste des environnements autorisés), et des **bundles** de clés, qui permettent de faire l'association entre tous les éléments. ## Akeyra Chaque **bundle** (le plus récent par environnement) est disponible par un webservice à l'application cliente _Akeyra_ qui va pouvoir le récupérer, mettre à jour les clés SSH publiques dans le fichier ~/.ssh/authorized_keys de chaque utilisateur local du bundle, et créer l'utilisateur local si celui-ci n'existe pas. ## Infos supplémentaires Le tout est fait en Python 3.5/6/7, avec Flask pour la partie webservice. Hébergé sur Gitlab: https://gitlab.com/LaMethode/akeyra https://gitlab.com/LaMethode/sakeyra Il reste encore pas mal de choses à faire (tests unitaires je vous maudis), mais l'application, client comme serveur sont actuellement utilisables et fonctionnels Toute critique constructive et/ou rapport de bugs sur gitlab seront très grandement appéciés et me permettront d'améliorer le bouzin à terme.

AltStyle によって変換されたページ (->オリジナル) /