ansible.builtin.known_hosts – Добавить или удалить хост из файла known_hosts
Примечание
Этот модуль является частью ansible-base и включён во все установки Ansible. В большинстве случаев вы можете использовать сокращённое имя модуля known_hosts, даже без указания ключевого слова collections:. Несмотря на это, мы рекомендуем использовать полное имя класса (FQCN) для лёгкой ссылки на документацию модуля и для предотвращения конфликтов с другими коллекциями, которые могут иметь то же имя модуля.
Новое в версии 1.9: от ansible.builtin
Обзор
- Модуль
known_hostsпозволяет добавлять или удалять ключи хостов из файлаknown_hosts. - Начиная с Ansible 2.2, разрешено несколько записей на хост, но только по одному для каждого типа ключа, поддерживаемого ssh. Это полезно, если вы планируете использовать модуль ansible.builtin.git через ssh, например.
- Если у вас очень большое количество ключей хостов для управления, вы обнаружите, что модуль ansible.builtin.template будет более полезным.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| hash_host boolean добавлено в 2.3 ansible.builtin |
| Хэшировать имя хоста в файле known_hosts. |
| key строка | Открытый ключ хоста SSH в виде строки. Обязателен, если state=present, необязателен, если state=absent, в этом случае все ключи хоста удаляются.Ключ должен быть в правильном формате для SSH (см. sshd(8), раздел "SSH_KNOWN_HOSTS ФОРМАТ ФАЙЛА"). Конкретно, ключ не должен соответствовать формату, который находится в файле 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ansible/builtin/known_hosts_module.html