我想用 puppet 管理一个 SSH 公钥池。我不确定我做对了,但现在它是这样工作的:
我有一个类 mysshd,其清单包含我想要的 SSH 服务器的每个配置。此外,还有另一个清单包含作为“ssh_athorized_keys”资源的所有公钥。
目前,我希望所有这些都被注册,所以它们在清单中有“确保 => 存在”。所以每个节点都加载了方便的 mysshd 类,就是这样。
但是现在,我想在此清单中定义我的用户的所有公钥,并使用“确保 => 不存在”。然后,在我的 node.pp 中,对于每个节点,如果我愿意,我想将每个资源 ssh_authorized_keys 的值“确保”设置为“呈现”。
我试图为类中的某些资源覆盖“确保”参数,但我肯定错过了一点,而且我无法弄清楚如何做到这一点。
你能帮助我吗 ?
更多细节:
在 :modules/iuem-sshd/manifests/publickeys.pp'
中,有我的 pub 键列表:
ssh_authorized_key{'gab':
key => 'AAAAB3NzaC1yc2EAAAABIwAAAQEAugG5p+SHmDm8OKdKifipUuK/TIbVXgQXm5ee//Cne+2QU9gctxOechyptT0oNh57rXUDShHpkNToC6r1ZvPLpxae2p2kBWJl5O2u1ov9/L8eWSvCFlVFc/gicH1wWG9vrlh7gXGGrAb6rVJ97XVDNkDmmF43W+Z8p8AjRtzE4b9Z3ZGGgPbBaPHPybBogs3wP3d5cyaLqlQgjJQXdkWkaVq8ApWLnan34O1sZVimcD6TVVSBZ1PmnSZfchxYq56xMnI+GpYvvi0dw+JU9aS+br4g1K5LtxFlxp4YlKGlQByrFdhn21z3VRnDrPWomgQHvdyzTUqwIs7AKvmPbQX+kQ==',
name => 'Nicolas',
ensure => absent,
type => "ssh-rsa",
user => root,
}
它由 init.pp 导入,它在 ssh 服务器上执行其他配置。
在节点配置中,我加载类 iuem-ssh :
class {'iuem-sshd': }
但我想覆盖设置:ensure => present
例如user => lagaffe
。
谢谢,
乔纳森