Ran*_*ard 28
在服务器(puppetmaster)上运行:
puppetca --generate <NAME>
Run Code Online (Sandbox Code Playgroud)
然后将以下内容从服务器复制到客户端:
/var/lib/puppet/ssl/certs/<NAME>.pem
/var/lib/puppet/ssl/certs/ca.pem
/var/lib/puppet/ssl/private_keys/<NAME>.pem
Run Code Online (Sandbox Code Playgroud)
如果您希望以<NAME>
主机名以外的方式签名,请使用:
puppetd --fqdn=<NAME>
Run Code Online (Sandbox Code Playgroud)
如果运行守护程序,请添加到 /etc/puppet/puppet.conf
[puppetd]
certname=<NAME>
Run Code Online (Sandbox Code Playgroud)
简单回答:自动签署新请求。这当然是危险的,因为您盲目信任连接到您的 puppetmaster 的任何系统,这是要求手动签名的目的。
[puppetmasterd]
autosign = true
Run Code Online (Sandbox Code Playgroud)
您也可以指定 false 和一个文件来确定要签名的密钥。
请参阅Puppet wiki 上的配置参考。
另一种选择是使用像Capistrano这样的工具,您可以在其中指定 puppetmaster 节点并创建客户端实例节点,然后在任务中:
如果您有主机数据库,则可以使用自动签名功能。在您的puppet.conf
文件中[puppetmasterd]
,添加:
autosign = /path/to/autosign.conf
Run Code Online (Sandbox Code Playgroud)
然后使用 crontab 生成此文件。自动签名文件只是一个主机列表,当它们第一次连接到 puppetmaster 时要自动签名。我使用 LDAP 来配置我的 puppet 主机,所以我的 cron 看起来像:
* * * * * root /usr/bin/ldapsearch -x '(objectClass=puppetClient)' cn | /bin/grep ^cn | /bin/sed 's!^cn: !!' > /etc/puppet/autosign.conf
Run Code Online (Sandbox Code Playgroud)
我确信使用 iClassify 的人能够编写一个查询来做同样的事情。
当然,你需要对网络有一定的信任。我在 EC2 上使用它。我的 puppetmaster 服务器所在的组只允许来自其他受信任组的连接。如果您的 puppetmaster 对互联网开放,我不建议您这样做。
归档时间: |
|
查看次数: |
7872 次 |
最近记录: |