Управляйте ssh_known_hosts с помощью puppet

Я новичок в Puppet (версия с открытым исходным кодом) и у меня относительно простой вопрос.

Когда я вызываю нового хоста, я бы хотел, чтобы puppetmaster добавил открытый ключ rsa нового хоста в / etc / ssh / ssh_known_hosts, и поэтому обновленный файл ssh_known_hosts будет доступен для удаления агентами марионеток.

Я попробовал sshkey ресурс:

# /etc/puppet/modules/ssh/manifests/client.pp

sshkey { $hostname:
    ensure => present,
    type => "rsa",
    key  => $sshrsakey,
}

Однако ssh_known_hosts, по-видимому, не изменяется на puppetmaster или агенте в этом отношении. Мой манифест проходит проверку синтаксиса при запуске puppet parser validate client.pp и работает puppet agent --test на агента не сообщает о каких-либо проблемах.

Нужно ли настраивать сохраненные конфигурации, чтобы использовать ресурс sshkey? Мне нравятся функции Stored Configs, но это кажется излишним для того, что мне нужно, и, кажется, добавляет много накладных расходов. Мой другой вариант - плевать $sshrsakey факт к file, но он должен проверить наличие открытого ключа, чтобы он не был добавлен более одного раза.

1 ответ

Решение

Да, вам нужно включить сохраненные конфиги.

На каждом хосте вы захотите собрать ключи в базу данных сохраненных конфигураций (обратите внимание на @@):

@@sshkey { $hostname:
    ensure => present,
    type => "rsa",
    key  => $sshrsakey,
}

Затем вы захотите записать их в файл на каждом хосте.

Sshkey <<| |>>
Другие вопросы по тегам