我是新手木偶(开源版本)并且有一个相对简单的问题。
当我启动一个新主机时,我希望 puppetmaster 将新主机的公共 rsa 密钥添加到 /etc/ssh/ssh_known_hosts,这样更新的 ssh_known_hosts 文件就可以被 puppet 代理拉下来。
我已经尝试过以下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 资源,需要设置什么?我喜欢存储配置的功能,但它似乎有点过度,而且似乎会增加很多开销。我的另一个选择是将事实吐$sshrsakey
给file
,但它需要检查公钥是否存在,这样它就不会被添加多次。
答案1
是的,您需要启用存储的配置。
在每个主机上,您都需要将密钥收集到存储的配置数据库中(请注意@@
):
@@sshkey { $hostname:
ensure => present,
type => "rsa",
key => $sshrsakey,
}
然后,您还需要将它们写入每个主机上的文件中。
Sshkey <<| |>>