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 を設定する必要がありますか? Stored Configsの機能は気に入っていますが、必要なものにはやり過ぎのようで、多くのオーバーヘッドが追加されているようです。私の他のオプションは、$sshrsakey
ファクトをfile
に吐き出すことですが、公開鍵が複数回追加されないように、公開鍵の存在を確認する必要があります。
はい、保存された構成を有効にする必要があります。
各ホストで、保存されている構成データベースにキーを収集する必要があります(@@
に注意してください)。
@@sshkey { $hostname:
ensure => present,
type => "rsa",
key => $sshrsakey,
}
次に、それらを各ホストのファイルにも書き込みます。
Sshkey <<| |>>