Распределение разных ключей SSH по разным хостам в одном инвентаре - PullRequest
0 голосов
/ 06 апреля 2019

У меня есть инвентарь, который содержит несколько хостов.Я хочу распространять открытую часть ключей SSH через Ansible.Каждый хост получает свой ключ.До сих пор я нашел модуль authorized_keys, который может выполнять общую работу.Однако я не смог выяснить, как можно распределить различные ключи.

Мой каталог .ssh выглядит так:

ls .ssh
hostA hostA.pub
hostB hostB.pub
hostC hostC.pub

Для одного хоста я мог бы написать:

- name: Set authorized key taken from file
  authorized_key:
    user: joeuser
    state: present
    key: "{{ lookup('file', '/home/joeuser/.ssh/hostA.pub') }}"

Но как я могу сделать это для разных хостов?

1 Ответ

1 голос
/ 06 апреля 2019

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

- name: Set authorized key taken from file
  authorized_key:
    user: joeuser
    state: present
    key: "{{ lookup('file', '/home/joeuser/.ssh/{}.pub'.format(inventory_hostname)) }}"
...