l3d.auth
Rola Ansible auth
============================== Rola Ansible do zarządzania i wdrażania kluczy SSH dla użytkowników admin i nie-admin.
Przeznaczenie
Ta rola jest zaprojektowana do zarządzania hostami Linux z następującymi rolami. Jej głównym celem jest wdrażanie odpowiednich kluczy publicznych SSH dla odpowiednich użytkowników w zależności od konfiguracji. Inne role zajmują się tworzeniem użytkowników i grup, konfiguracją sshd, wprowadzaniem plików dotfiles lub instalowaniem przydatnych pakietów.
Lista sugerowanych ról do zarządzania hostem Linux:
- do1jlr.base instalacja przydatnych pakietów
- do1jlr.users tworzenie użytkowników i zarządzanie sudoers
- do1jlr.auth (ta rola)
- do1jlr.sshd konfiguracja sshd
- do1jlr.dotfiles wdrożenie przydatnych plików dotfiles
Dobrze wiedzieć:
Wymienione role używają tych samych zmiennych do tworzenia kont, administratorów itp. Role muszą być wywoływane w odpowiedniej kolejności, aby działały poprawnie. Na przykład nie możesz wdrożyć klucza publicznego SSH dla użytkownika, który nie został utworzony.
Zmienne
admins
(domyślnie[]
):
Listassh
kluczy, które mają dostęp do logowania jakoroot
.accounts
(domyślnie[]
):
Lista nazw użytkowników, które zostaną utworzone na tym hoście, jeśli nie istnieją.users
(domyślnie{}
):
Słownik nazw użytkowników mapujących na listyssh
kluczy dozwolonych do logowania na dany konto użytkownika.ssh_public_key_store
(domyślniessh_public_keys
):
Ścieżka do katalogu, w którym pliki kluczy publicznych są dostępne dla ansible.
Aby dodać dodatkowe klucze SSH z GitHub do użytkownika, użyj ustawienia github_users: {}
.
Pliki
Ta rola zakłada, że publiczne części wszystkich wymaganych ssh
kluczy
znajdują się w katalogu ssh_public_key_store
. Nazwy plików muszą być zgodne z konwencją: username_idalg.pub
, która jest dopasowywana do części username
.
Przykłady
Alicja i Bob mogą się zalogować i mają możliwość uzyskania dostępu do root
za pomocą komendy sudo
na tym hoście:
admins:
- alice
- bob
Alicja, Bob i Ewa mogą się logować do swoich kont użytkowników przez SSH:
users:
alice:
- alice
eve:
- eve@device1
- eve@device2
Ewa może to zrobić przy użyciu dwóch różnych kluczy ssh
. Alicja tylko z jednym kluczem SSH.
W katalogu files/ssh_public_keys/
znajdują się następujące pliki:
alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub
Alicja, Bob i Ewa chcą być użytkownikami na tym hoście:
accounts:
- alice
- bob
- eve
Dodaj klucze SSH z użytkownika GitHub DO1JLR
dla lokalnego użytkownika L3D:
github_users:
l3d:
- do1jlr
Generowanie kluczy 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