ansible.builtin.known_hosts – Добавить или удалить хост из файла known_hosts
Примечание
Этот модуль является частью ansible-base и включён во все инсталляции Ansible. В большинстве случаев вы можете использовать короткое имя модуля known_hosts, даже не указывая collections: ключевое слово. Несмотря на это, мы рекомендуем использовать FQCN для удобной ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 1.9: of ansible.builtin
Описание
- Модуль
known_hostsпозволяет добавлять или удалять ключи хоста из файлаknown_hosts. - Начиная с Ansible 2.2, разрешены несколько записей на хост, но только одна для каждого типа ключа, поддерживаемого ssh. Это полезно, если вы собираетесь использовать модуль ansible.builtin.git через ssh, например.
- Если у вас очень большое количество ключей хоста, которые необходимо управлять, вы обнаружите, что модуль ansible.builtin.template будет более полезным.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| hash_host boolean добавлен в версии 2.3 of ansible.builtin |
| Хэшировать имя хоста в файле known_hosts. |
| key строка | Открытый ключ SSH хоста в виде строки. Требуется, если state=present, необязательно, когда state=absent, в этом случае все ключи хоста удаляются.Ключ должен иметь правильный формат для SSH (см. sshd(8), раздел «SSH_KNOWN_HOSTS FILE FORMAT»). В частности, ключ не должен соответствовать формату, который встречается в файле SSH pubkey, а должен иметь имя хоста, добавленное к строке, содержащей открытый ключ, так же, как это было бы в файле known_hosts. Значение, добавленное перед строкой, также должно соответствовать значению параметра name. Должен быть в формате `<hostname[,IP]> ssh-rsa <pubkey>`. Для пользовательского порта SSH, key необходимо также указать порт. Смотрите раздел примеров. | |
| name строка / требуется | Хост для добавления или удаления (должен соответствовать хосту, указанному в параметре key). Будет преобразован в нижний регистр, чтобы ssh-keygen мог его найти. Должен совпадать с <hostname> или <ip>, присутствующими в атрибуте key. Для пользовательского порта SSH, name необходимо также указать порт. Смотрите раздел примеров.псевдонимы: хост | |
| path путь | Значение по умолчанию: "~/.ssh/known_hosts" | Файл known_hosts для редактирования. |
| state строка |
|
present для добавления ключа хоста.
absent для его удаления. |
Примеры
- name: Tell the host about our servers it might want to ssh to
known_hosts:
path: /etc/ssh/ssh_known_hosts
name: foo.com.invalid
key: "{{ lookup('file', 'pubkeys/foo.com.invalid') }}"
- name: Another way to call known_hosts
known_hosts:
name: host1.example.com # or 10.9.8.77
key: host1.example.com,10.9.8.77 ssh-rsa ASDeararAIUHI324324 # some key gibberish
path: /etc/ssh/ssh_known_hosts
state: present
- name: Add host with custom SSH port
known_hosts:
name: '[host1.example.com]:2222'
key: '[host1.example.com]:2222 ssh-rsa ASDeararAIUHI324324' # some key gibberish
path: /etc/ssh/ssh_known_hosts
state: present
Авторы
- Matthew Vernon (@mcv21)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/ansible/builtin/known_hosts_module.html