linux – 使用puppet管理ssh_known_hosts

我是 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解析器验证client.pp并运行puppet agent时,我的清单会通过语法验证 – 代理上的test不会报告任何问题.

我是否必须设置Stored Configs才能使用sshkey资源?我喜欢Stored Configs的功能,但是对于我需要的东西似乎有些过分,似乎增加了很多开销.我的另一个选择是将$sshrsakey事实吐出到一个文件中,但它需要检查是否存在公钥,因此它不会被多次添加.

解决方法

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

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

@@sshkey { $hostname:
    ensure => present,}

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

Sshkey <<| |>>

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...