GROG.authorized-key

Klucz autoryzowany

Ansible Galaxy Status budowy Najnowszy tag Czat Gitter

Rola do zarządzania kluczami autoryzowanymi.

Następujące role zostały zaprojektowane, aby współpracować z tą rolą:

  • user, do zarządzania użytkownikami.
  • sudo, do zarządzania prawami sudo.

Rola management-user łączy wszystkie te role w jedną łatwą w użyciu rolę.

Wymagania

  • Hosty powinny być przygotowane do użycia z Ansible (mieć zainstalowane Python, itp.)
  • Uprawnienia roota, np. become: yes

Zmienne roli

Zmienna Opis Wartość domyślna
authorized_key_list Lista użytkowników i ich kluczy (zobacz szczegóły!) []
authorized_key_list_host Lista użytkowników i ich kluczy (zobacz szczegóły!) []
authorized_key_list_group Lista użytkowników i ich kluczy (zobacz szczegóły!) []
authorized_key_exclusive Wartość domyślna dla exclusive no
authorized_key_key_options Wartość domyślna dla key_options /
authorized_key_manage_dir Wartość domyślna dla manage_dir yes
authorized_key_state Wartość domyślna dla state present

Szczegóły authorized_key_list

authorized_key_list, authorized_key_list_host i authorized_key_list_group są łączone podczas zarządzania kluczami autoryzowanymi. Możesz użyć list hostów i grup, aby określić klucze dla konkretnego hosta lub grupy hostów.

Lista kluczy autoryzowanych pozwala określić, którzy użytkownicy i ich klucze muszą być zarządzani. Każdy element listy składa się z nazwy użytkownika i listy kluczy.

Zmienna Opis Wymagana Domyślna
name Nazwa użytkownika /
authorized_keys Lista kluczy /

Każdy klucz na liście authorized_keys może mieć następujące atrybuty:

Zmienna Opis Wymagana Domyślna
exclusive Czy ten klucz ma być ekskluzywny? no authorized_key_exclusive
key Klucz SSH tak /
key_options Opcje klucza SSH do dodania do klucza no /
manage_dir Zarządzać katalogiem authorized_keys? no authorized_key_manage_dir
path Ścieżka dla klucza SSH no 'home_dir/.ssh/authorized_keys'
state Stan klucza (present/absent) no authorized_key_state
Przykład authorized_key_list
authorized_key_list:
  - name: testuser1
    authorized_keys:
      - key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
      - key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"
        state: absent
  - name: testuser2
    authorized_keys:
      - key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"

Zależności

Brak.

Przykład Playbooka

---
- hosts: servers
  roles:
  - { role: GROG.authorized-key, become: yes }

W pliku group_vars/servers.yml:

authorized_key_list_group:
  - name: user
    authorized_keys:
      - key: "{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}"
      - key: "{{ lookup('file', '/home/john/.ssh/id_rsa.pub') }}"

Współpraca

Każda pomoc, zmiany lub pomysły mile widziane!

Autor

Autor: G. Roggemans

Licencja

MIT

O projekcie

A role for managing authorized keys.

Zainstaluj
ansible-galaxy install GROG.authorized-key
Licencja
mit
Pobrania
258.9k
Właściciel
Open Source Science and Technology