Puppet

在 puppet 版本 5 中生成和簽署證書

  • October 20, 2017

我正在嘗試在執行 Centos 7 的兩台相同的 Linux 機器上安裝和配置 puppet 5.3.2(一台是主機,另一台是代理)。我已經設法從官方儲存庫中安裝了 puppet,並添加了以下內容。

主節點在/etc/hosts

127.0.0.1                 <master hostname>
<master node ipaddress>   puppet, <master node hostname>
<agent node ipaddress>    <agent node hostname>

代理節點在/etc/hosts

127.0.0.1                 <agent hostname>
<master node ipaddress>   puppet, <master node hostname>
<agent node ipaddress>    <agent node hostname>

主節點在/etc/puppetlabs/puppet/puppet.conf

[master]
vardir = /opt/puppetlabs/server/data/puppetserver
logdir = /var/log/puppetlabs/puppetserver
rundir = /var/run/puppetlabs/puppetserver
pidfile = /var/run/puppetlabs/puppetserver/puppetserver.pid
codedir = /etc/puppetlabs/code
dns_alt_names = puppet, <master node hostname>
certname = puppet

代理節點在/etc/puppetlabs/puppet/puppet.conf

server = puppet, <master node hostname>

puppet 伺服器啟動成功。但是,我仍然需要為 master 和 agent 生成並簽署適當的證書。為此,我首先確保 puppetserver 在 puppet master 節點上停止,然後在 puppet master 節點上發出:

sudo /opt/puppetlabs/bin/puppet cert list -a

我看到一個 SHA256 證書。

現在,我不知道如何進一步進行。任何輸入將不勝感激。

我能夠得到這個工作。基本上,當 puppet 伺服器最初啟動時,會生成證書,這可以通過以下方式查看

sudo /opt/puppetlabs/bin/puppet cert list -a

接下來在代理節點上,如果代理正在執行,請使用以下命令停止 puppet 代理(可以通過systemctl status puppet

systemctl stop puppet

在 puppet 代理上創建需要由 puppet master 簽名的證書。證書可以通過以下方式生成:

/opt/puppetlabs/bin/puppet agent -t

在主節點上,可以通過以下方式查看代理證書

/opt/puppetlabs/puppet cert list -a

現在應該簽署代理證書,為此

/opt/puppetlabs/puppet cert sign <puppet agent hostname>

證書籤署後,需要對其進行驗證。但是,在驗證之前,puppet 代理應該已啟動並執行。

systemctl start puppet
systemctl enable puppet
/opt/puppetlabs/bin/puppet agent --fingerprint #certificate verification

引用自:https://serverfault.com/questions/879367