ssh_kba

Имя Роли

Статус сборки

Настройка аутентификации по публичным ключам SSH для связи между машинами.

Требования

Установлено программное обеспечение OpenSSH для сервера и клиента.

Переменные роли

В типичной настройке эта роль применяется либо к SSH-клиенту, либо к SSH-серверу. Задания для другой стороны можно делегировать, установив ssh_kba_server_hostname и ssh_kba_client_hostname соответственно. Также в большинстве случаев рекомендуется явно указывать ssh_kba_server_user и ssh_kba_client_user, а не полагаться на значения по умолчанию.

Примечание: SSH-ключи хостов собираются из фактов Ansible. Поэтому важно, чтобы они были собраны заранее для всех участвующих машин.

Переменные, влияющие на сервер

Хост и пользователь, представляющие серверную сторону аутентифицированного SSH-соединения:

ssh_kba_server_hostname: "{{ inventory_hostname }}"
ssh_kba_server_user: # Пользователь Ansible на сервере согласно фактам.

Переменные, влияющие на клиент

ssh_kba_client_hostname: "{{ inventory_hostname }}"
ssh_kba_client_user: # Пользователь Ansible на сервере согласно фактам.
ssh_kba_client_host_fqdn: # FQDN сервера согласно фактам.
ssh_kba_client_host_ip4: # Основной IP-адрес сервера согласно фактам.
ssh_kba_client_host_ip6: # Основной IP-адрес сервера согласно фактам.

Переменные, влияющие на пару ключей

ssh_kba_keypair_type: rsa # Один из dsa, ecdsa, ed25519, rsa
ssh_kba_keypair_size: # Пропустить по умолчанию
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: # Пропустить по умолчанию
ssh_kba_keypair_attributes: # Пропустить по умолчанию
ssh_kba_keypair_selevel: # Пропустить по умолчанию
ssh_kba_keypair_serole: # Пропустить по умолчанию
ssh_kba_keypair_setype: # Пропустить по умолчанию
ssh_kba_keypair_seuser: # Пропустить по умолчанию

Пара ключей будет сгенерирована заново, если ssh_kba_keypair_force установлено в yes.

ssh_kba_keypair_force: # Пропустить по умолчанию

Факт ssh_kba_keypair_pub устанавливается в публичную часть пары ключей во время оценки роли.

Переменные, влияющие на файл авторизованных ключей сервера

ssh_kba_keypair_pub: # см. раздел о паре ключей выше
ssh_kba_server_authorized_keys_owner: "{{ ssh_kba_server_user }}"
ssh_kba_server_authorized_keys_comment: # Пропустить по умолчанию
ssh_kba_server_authorized_keys_exclusive: # Пропустить по умолчанию
ssh_kba_server_authorized_keys_key_options: # Пропустить по умолчанию
ssh_kba_server_authorized_keys_manage_dir: # Пропустить по умолчанию
ssh_kba_server_authorized_keys_path: # Пропустить по умолчанию

Переменные, влияющие на файл известных хостов клиента

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 сервера, IP и факты ключей хостов собираются для их использования в файле known_hosts клиента. Переопределение любых из следующих переменных изменит это поведение:

ssh_kba_server_host_fqdn: # FQDN сервера согласно фактам.
ssh_kba_server_host_ip4: # Основной IP-адрес сервера согласно фактам.
ssh_kba_server_host_ip6: # Основной IP-адрес сервера согласно фактам.
ssh_kba_server_host_names: # Список, состоящий из FQDN и основных IP-адресов.
ssh_kba_server_host_keys: # Список пар, где каждая пара состоит из типа ключа (первое поле) и фактического ключа хоста (второе поле). По умолчанию значения доступны из фактов хоста.

Указанные выше переменные будут использоваться для заполнения переменной со списком имен хостов и ключей:

ssh_kba_server_host_names_and_keys: # Список пар, где каждая пара состоит из имени хоста (или IP-адреса) и соответствующего ключа хоста (в формате, который принимает модуль known_hosts)

Зависимости

Нет.

Пример плейбука

- hosts: server.example.com
  tasks:
    - name: Сбор фактов клиента
      delegate: client.example.com
      delegate_facts: yes
      setup:

    - name: >-
        Аутентификация на основе ключа предоставлена [email protected] на
        [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

Лицензия

BSD

О проекте

Setup SSH public key authentication for machine to machine communication.

Установить
ansible-galaxy install znerol/ansible-role-ssh-kba
Лицензия
Unknown
Загрузки
362
Владелец