znerol.ssh_kba

Nazwa roli

Status budowy

Ustawienie autoryzacji za pomocą klucza publicznego SSH do komunikacji między maszynami.

Wymagania

Zainstalowane oprogramowanie serwera i klienta OpenSSH.

Zmienne roli

W typowym ustawieniu, ta rola jest stosowana do klienta SSH lub serwera SSH. Zadania dla drugiej strony można delegować, ustawiając odpowiednio ssh_kba_server_hostname i ssh_kba_client_hostname. W większości przypadków zaleca się również jawne określenie ssh_kba_server_user i ssh_kba_client_user, zamiast polegać na domyślnych ustawieniach.

Uwaga: Klucze hostów SSH są zbierane z faktów ansible. Dlatego ważne jest, aby były wcześniej zebrane dla wszystkich zaangażowanych maszyn.

Zmienne wpływające na serwer

Host i użytkownik reprezentujący serwer jako punkt końcowy połączenia SSH z autoryzacją klucza publicznego:

ssh_kba_server_hostname: "{{ inventory_hostname }}"
ssh_kba_server_user: # Użytkownik Ansible na serwerze zgodnie z faktami.

Zmienne wpływające na klienta

ssh_kba_client_hostname: "{{ inventory_hostname }}"
ssh_kba_client_user: # Użytkownik Ansible na serwerze zgodnie z faktami.
ssh_kba_client_host_fqdn: # FQDN serwera zgodnie z faktami.
ssh_kba_client_host_ip4: # Domyślny adres IP serwera zgodnie z faktami.
ssh_kba_client_host_ip6: # Domyślny adres IP serwera zgodnie z faktami.

Zmienne wpływające na parę kluczy

ssh_kba_keypair_type: rsa # Jeden z dsa, ecdsa, ed25519, rsa
ssh_kba_keypair_size: # Pomiń domyślnie
ssh_kba_keypair_comment: "{{ ssh_kba_client_user }}@{{ ssh_kba_client_hostname }}"
ssh_kba_keypair_dir: ~/.ssh
ssh_kba_keypair_name: "id_{{ ssh_kba_keypair_type }}"
ssh_kba_keypair_path: "{{ ssh_kba_keypair_dir }}/{{ ssh_kba_keypair_name }}"
ssh_kba_keypair_owner: "{{ ssh_kba_client_user }}"
ssh_kba_keypair_group: # Pomiń domyślnie
ssh_kba_keypair_attributes: # Pomiń domyślnie
ssh_kba_keypair_selevel: # Pomiń domyślnie
ssh_kba_keypair_serole: # Pomiń domyślnie
ssh_kba_keypair_setype: # Pomiń domyślnie
ssh_kba_keypair_seuser: # Pomiń domyślnie

Para kluczy zostanie odtworzona, jeśli ssh_kba_keypair_force zostanie ustawione na yes.

ssh_kba_keypair_force: # Pomiń domyślnie

Fakt ssh_kba_keypair_pub jest ustawiany na publiczną część pary kluczy podczas oceny roli.

Zmienne wpływające na plik autoryzowanych kluczy serwera

ssh_kba_keypair_pub: # zobacz sekcję kluczy powyżej
ssh_kba_server_authorized_keys_owner: "{{ ssh_kba_server_user }}"
ssh_kba_server_authorized_keys_comment: # Pomiń domyślnie
ssh_kba_server_authorized_keys_exclusive: # Pomiń domyślnie
ssh_kba_server_authorized_keys_key_options: # Pomiń domyślnie
ssh_kba_server_authorized_keys_manage_dir: # Pomiń domyślnie
ssh_kba_server_authorized_keys_path: # Pomiń domyślnie

Zmienne wpływające na plik znanych hostów klienta

ssh_kba_client_known_hosts_owner: "{{ ssh_kba_client_user }}"
ssh_kba_client_known_hosts_hash_host | default(omit) }}"
ssh_kba_client_known_hosts_path | default(omit) }}"

FQDN serwera, adresy IP i fakty kluczy hostów są zbierane, aby były dostępne w known_hosts klienta. Nadpisanie dowolnej z poniższych zmiennych zmieni to zachowanie:

ssh_kba_server_host_fqdn: # FQDN serwera zgodnie z faktami.
ssh_kba_server_host_ip4: # Domyślny adres IP serwera zgodnie z faktami.
ssh_kba_server_host_ip6: # Domyślny adres IP serwera zgodnie z faktami.
ssh_kba_server_host_names: # Lista składająca się z FQDN i domyślnych adresów IP.
ssh_kba_server_host_keys: # Lista par, z których każda składa się z typu klucza (pierwsze pole) i rzeczywistego klucza hosta (drugie pole). Domyślnie wartości dostępne z faktów hosta.

Powyższe zmienne będą użyte do populacji zmiennej z listą nazw hostów i kluczy:

ssh_kba_server_host_names_and_keys: # Lista par, z których każda składa się z nazwy hosta (lub adresu IP) i odpowiadającego klucza hosta (w formie akceptowanej przez moduł known_hosts)

Zależności

Brak.

Przykładowy playbook

- hosts: server.example.com
  tasks:
    - name: Zbierz fakty klienta
      delegate: client.example.com
      delegate_facts: yes
      setup:

    - name: >-
        Autoryzacja na podstawie klucza przyznana [email protected] na
        [email protected]
      vars:
        ssh_kba_server_user: alpha
        ssh_kba_client_hostname: client.example.com
        ssh_kba_client_user: beta
      import_role:
        name: znerol.ssh_kba

Licencja

BSD

O projekcie

Setup SSH public key authentication for machine to machine communication.

Zainstaluj
ansible-galaxy install znerol.ssh_kba
Licencja
Unknown
Pobrania
373
Właściciel