l3d.auth
Rôle Ansible auth
Rôle Ansible pour gérer et déployer des clés SSH des utilisateurs administrateurs et non-administrateurs.
Utilisation prévue
Ce rôle est conçu pour gérer des hôtes Linux avec les rôles suivants. Ce rôle se concentre principalement sur le déploiement des bonnes clés SSH publiques aux bons utilisateurs en fonction de la configuration. D'autres rôles créent des utilisateurs et des groupes, configurent SSHD, déploient des fichiers de configuration ou installent un certain nombre de paquets utiles.
Une liste de rôles suggérés pour gérer votre hôte Linux :
- do1jlr.base installer des paquets utiles
- do1jlr.users créer des utilisateurs et gérer les sudoers
- do1jlr.auth (celui-ci)
- do1jlr.sshd configurer SSHD
- do1jlr.dotfiles déployer des fichiers de configuration personnalisés
Bon à savoir :
Les rôles listés utilisent les mêmes variables pour créer des comptes, des administrateurs, etc. Cependant, les rôles doivent s'exécuter dans le bon ordre pour fonctionner correctement. Par exemple, vous ne pouvez pas déployer une clé SSH publique pour un utilisateur qui n'est pas créé.
Variables
admins
(par défaut[]
):
Une liste de clésssh
autorisées à se connecter en tant queroot
.accounts
(par défaut[]
):
Une liste de noms d'utilisateur qui seront créés sur cet hôte, s'ils n'existent pas.users
(par défaut{}
):
Un dictionnaire de noms d'utilisateur associés à des listes de clésssh
autorisées à se connecter à ce compte utilisateur.ssh_public_key_store
(par défautssh_public_keys
):
Un chemin de répertoire où les fichiers de clés publiques peuvent être trouvés par Ansible.
Pour des variables supplémentaires, veuillez consulter defaults/main.yml
!
Pour ajouter des clés SSH supplémentaires depuis GitHub à un utilisateur, utilisez les paramètres github_users: {}
.
Fichiers
Ce rôle suppose que les parties publiques de toutes les clés ssh
requises peuvent être trouvées dans le répertoire ssh_public_key_store
. Les noms de fichiers doivent suivre la convention : username_idalg.pub
et sont associés à la partie username
.
Exemples
Alice et Bob peuvent se connecter et sont autorisés à devenir root
avec la commande sudo
sur cet hôte :
admins:
- alice
- bob
Alice, Bob et Eve peuvent se connecter à leurs propres comptes utilisateurs via SSH :
users:
alice:
- alice
eve:
- eve@device1
- eve@device2
Eve peut le faire avec deux clés ssh
différentes. Alice, quant à elle, ne peut le faire qu'avec sa seule clé SSH.
Le dossier files/ssh_public_keys/
contient les fichiers suivants :
alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub
Alice, Bob et Eve souhaitent être des utilisateurs sur cet hôte :
accounts:
- alice
- bob
- eve
Ajoutez des clés SSH de l'utilisateur GitHub DO1JLR
pour l'utilisateur local L3D :
github_users:
l3d:
- do1jlr
Générer des clés SSH ed25519
ssh-keygen -t ed25519
Ansible Rolle to manage and deploy ssh keys of admin and non-admin users
ansible-galaxy install l3d.auth