Puppet 环境配置与节点管理全解析
1. 用户数据处理与 SSH 配置
在进行系统配置时,我们首先会将所有用户数据通过lookup()函数提取到一个名为$users的哈希中。之后遍历这个哈希,为每个用户声明一个accounts::user资源,其属性从哈希数据中加载。需要注意的是,在使用accounts::user资源时,sshkeys属性必须包含该用户的授权 SSH 公钥数组。
为了增强安全性,我们通常会限制 SSH 登录到指定的一组用户。这可以通过/etc/ssh/sshd_config文件中的AllowUsers指令来实现。以下是相关的配置步骤:
1.模板文件:使用 Puppet 模板构建sshd_config文件,模板文件路径为site-modules/profile/templates/ssh/sshd_config.epp,内容如下:
<%- | Array[String] $allow_users | -%> # File is managed by Puppet AcceptEnv LANG LC_* ChallengeResponseAuthentication no GSSAPIAuthentication no PermitRoo