l3d.auth
Ansible Rolle Auth
Ansible Rolle zur Verwaltung und Bereitstellung von SSH-Schlüsseln für Administratoren und nicht-Administratoren
geplanter Einsatz
Diese Rolle ist dafür ausgelegt, Linux-Hosts mit den folgenden Rollen zu verwalten. Diese Rolle konzentriert sich hauptsächlich auf die Bereitstellung der korrekten SSH-öffentlichen Schlüssel für die entsprechenden Benutzer entsprechend der Konfiguration. Andere Rollen erstellen Benutzer und Gruppen, konfigurieren SSHD, stellen Dotfiles bereit oder installieren eine Reihe nützlicher Pakete.
Eine Liste empfohlener Rollen zur Verwaltung Ihres Linux-Hosts:
- do1jlr.base installiert einige nützliche Pakete
- do1jlr.users erstellt Benutzer und verwaltet sudoers
- do1jlr.auth (dies hier)
- do1jlr.sshd konfiguriert SSHD
- do1jlr.dotfiles stellt einige schicke Dotfiles bereit
Gut zu wissen:
Die aufgeführten Rollen verwenden dieselben Variablen, um Konten, Administratoren usw. zu erstellen. Aber die Rollen müssen in der richtigen Reihenfolge ausgeführt werden, um ordnungsgemäß zu funktionieren. Zum Beispiel können Sie keinen SSH-öffentlichen Schlüssel für einen Benutzer bereitstellen, der noch nicht erstellt wurde.
Variablen
admins
(Standard[]
):
Eine Liste vonssh
-Schlüsseln, die alsroot
anmelden dürfen.accounts
(Standard[]
):
Eine Liste von Benutzernamen, die auf diesem Host erstellt werden, wenn sie nicht existieren.users
(Standard{}
):
Ein Wörterbuch von Benutzernamen, das auf Listen vonssh
-Schlüsseln verweist, die für das jeweilige Benutzerkonto zur Anmeldung berechtigt sind.ssh_public_key_store
(Standardssh_public_keys
):
Ein Verzeichnispfad, wo die öffentlichen Schlüsseldateien von Ansible gefunden werden können.
Für zusätzliche Variablen bitte in defaults/main.yml
nachsehen!
Um zusätzliche SSH-Schlüssel von GitHub zu einem Benutzer hinzuzufügen, verwenden Sie die Einstellungen github_users: {}
.
Dateien
Diese Rolle geht davon aus, dass die öffentlichen Teile aller benötigten ssh
-Schlüssel
im Verzeichnis ssh_public_key_store
zu finden sind. Die Dateinamen müssen folgendes Format haben: benutzername_idalg.pub
, was dem benutzername
-Teil entspricht.
Beispiele
Alice und Bob dürfen sich anmelden und mit dem Befehl sudo
zum root
werden:
admins:
- alice
- bob
Alice, Bob und Eve können sich über SSH in ihre eigenen Benutzerkonten einloggen:
users:
alice:
- alice
eve:
- eve@device1
- eve@device2
Eve kann dies mit zwei unterschiedlichen ssh
-Schlüsseln tun. Alice nur mit ihrem einzigen SSH-Schlüssel.
Der files/ssh_public_keys/
enthält die folgenden Dateien:
alice_ed25519.pub
bob_ed25519.pub
eve@device1_ed25519.pub
eve@device2_ed25519.pub
Alice, Bob und Eve möchten Benutzer auf diesem Host sein:
accounts:
- alice
- bob
- eve
SSH-Schlüssel vom GitHub-Benutzer DO1JLR
für den lokalen Benutzer L3D hinzufügen:
github_users:
l3d:
- do1jlr
Erzeugen von ed25519 SSH-Schlüsseln
ssh-keygen -t ed25519
Ansible Rolle to manage and deploy ssh keys of admin and non-admin users
ansible-galaxy install l3d.auth