使用 puppet 管理 ssh_known_hosts

使用 puppet 管理 ssh_known_hosts

我是新手木偶(开源版本)并且有一个相对简单的问题。

当我启动一个新主机时,我希望 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 资源,需要设置什么?我喜欢存储配置的功能,但它似乎有点过度,而且似乎会增加很多开销。我的另一个选择是将事实吐$sshrsakeyfile,但它需要检查公钥是否存在,这样它就不会被添加多次。

答案1

是的,您需要启用存储的配置。

在每个主机上,您都需要将密钥收集到存储的配置数据库中(请注意@@):

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

然后,您还需要将它们写入每个主机上的文件中。

Sshkey <<| |>>

相关内容