znerol.ssh_kba

Nombre del Rol

Estado de Construcción

Configura la autenticación de clave pública SSH para comunicación de máquina a máquina.

Requisitos

Software de OpenSSH (servidor y cliente) instalado.

Variables del Rol

En una configuración típica, este rol se aplica a un cliente SSH o a un servidor SSH. Las tareas para el otro lado se pueden delegar configurando ssh_kba_server_hostname y ssh_kba_client_hostname respectivamente. En la mayoría de los casos, se recomienda especificar también ssh_kba_server_user y ssh_kba_client_user de manera explícita, en lugar de confiar en los valores predeterminados.

Nota: Las claves de host SSH se recopilan de los hechos de Ansible. Por lo tanto, es importante asegurarse de que se recopilen de antemano para todas las máquinas involucradas.

Variables que afectan al servidor

Host y usuario que representan el punto final del servidor para la conexión SSH autenticada por clave pública:

ssh_kba_server_hostname: "{{ inventory_hostname }}"
ssh_kba_server_user: # Usuario de Ansible en el servidor según los hechos.

Variables que afectan al cliente

ssh_kba_client_hostname: "{{ inventory_hostname }}"
ssh_kba_client_user: # Usuario de Ansible en el cliente según los hechos.
ssh_kba_client_host_fqdn: # FQDN del servidor según los hechos.
ssh_kba_client_host_ip4: # Dirección IP predeterminada del servidor según los hechos.
ssh_kba_client_host_ip6: # Dirección IP predeterminada del servidor según los hechos.

Variables que afectan al par de claves

ssh_kba_keypair_type: rsa # Uno de dsa, ecdsa, ed25519, rsa
ssh_kba_keypair_size: # Omitir por defecto
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: # Omitir por defecto
ssh_kba_keypair_attributes: # Omitir por defecto
ssh_kba_keypair_selevel: # Omitir por defecto
ssh_kba_keypair_serole: # Omitir por defecto
ssh_kba_keypair_setype: # Omitir por defecto
ssh_kba_keypair_seuser: # Omitir por defecto

El par de claves se regenerará si ssh_kba_keypair_force se establece en yes.

ssh_kba_keypair_force: # Omitir por defecto

El hecho ssh_kba_keypair_pub se establece en la parte pública del par de claves durante la evaluación del rol.

Variables que afectan al archivo de claves autorizadas del servidor

ssh_kba_keypair_pub: # ver sección de par de claves arriba
ssh_kba_server_authorized_keys_owner: "{{ ssh_kba_server_user }}"
ssh_kba_server_authorized_keys_comment: # Omitir por defecto
ssh_kba_server_authorized_keys_exclusive: # Omitir por defecto
ssh_kba_server_authorized_keys_key_options: # Omitir por defecto
ssh_kba_server_authorized_keys_manage_dir: # Omitir por defecto
ssh_kba_server_authorized_keys_path: # Omitir por defecto

Variables que afectan al archivo de hosts conocidos del cliente

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) }}"

El FQDN del servidor, IPs y hechos de la clave de host se recopilan para que estén disponibles en los known_hosts del cliente. Sobrescribir cualquiera de las siguientes variables modificará este comportamiento:

ssh_kba_server_host_fqdn: # FQDN del servidor según los hechos.
ssh_kba_server_host_ip4: # Dirección IP predeterminada del servidor según los hechos.
ssh_kba_server_host_ip6: # Dirección IP predeterminada del servidor según los hechos.
ssh_kba_server_host_names: # Una lista que consiste en FQDN y direcciones IP predeterminadas.
ssh_kba_server_host_keys: # Una lista de pares, cada uno consistiendo en el tipo de clave (primer campo) y la clave de host real (segundo campo). Por defecto, corresponde a los valores disponibles de los hechos del host.

Las variables mencionadas anteriormente se utilizarán para poblar una variable con una lista de nombres de host y claves:

ssh_kba_server_host_names_and_keys: # Una lista de pares, cada uno consistiendo en un nombre de host (o dirección IP) y una clave de host correspondiente (en el formato aceptado por el módulo known_hosts)

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: server.example.com
  tasks:
    - name: Recopilar hechos del cliente
      delegate: client.example.com
      delegate_facts: yes
      setup:

    - name: >-
        Autenticación basada en clave concedida a [email protected] en
        [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

Licencia

BSD

Acerca del proyecto

Setup SSH public key authentication for machine to machine communication.

Instalar
ansible-galaxy install znerol.ssh_kba
Licencia
Unknown
Descargas
373
Propietario