Puppet

puppetca 從不返回任何東西

  • August 17, 2012

嗨:我正在嘗試在 Ubuntu 上配置 Puppet,但奇怪的是我永遠無法生成證書,因為我的伺服器從未顯示任何待處理的證書請求。

換句話說,在伺服器上我正在執行 puppetmasterd 並且在客戶端上我能夠連接到伺服器,但客戶端繼續列印

notice: Did not receive certificate
warning: peer certificate won't be verified in this SSL session

但是伺服器永遠不會看到請求

mrisher@lab2$ puppetca --list                        
[nothing shows up]
mrisher@lab2$ puppetca --sign clientname.domain.com
clientname.domain.com
err: Could not call sign: Could not find certificate request for clientname.domain.com

編輯:有人建議自動簽名正在發生,但似乎不是這樣。沒有autosign.conf文件,當我執行時,puppetmasterd --no-daemonize -d -v我收到以下輸出:資訊:每次客戶說通知時都找不到“clientname.domain.com”的證書:沒有收到證書

我檢查了伺服器上的證書,似乎沒有:

mrisher@lab2:~$ puppetca --list --all
mrisher@lab2:~$ sudo puppetca --list --all
+ lab2.domain.com          // this is the server (master)
mrisher@lab2:~$ sudo puppetca --list      
[blank line]
mrisher@lab2:~$

注意:這主要是從 Ubuntu 執行預設安裝,如果有任何線索的話。

感謝您提供任何幫助。

編輯這似乎是由於puppetd作為不同的使用者執行不一致。由於我對守護程序不太了解的原因,puppet 將它的一些設置(包括證書)儲存在 ~/.puppet 而不是中央目錄/var/lib/puppet中,因此如果你是自己測試還是自己測試很重要sudo.

您的證書請求是否已發送到伺服器?(使用puppetmasterd --configprint ssldir我在$ssldir這裡寫的地方的價值)

下面$ssldir/ca應該有一個這樣的目錄結構:

  private/
  requests/
  serial
  signed/

在. requests_ clientname.domain.com.pem如果它在那裡並且需要簽名,您可以通過指定直接將 puppetca 指向它puppetca --ssldir=/path/to/ssldir --sign clientname.domain.com;如果它不存在,則客戶端的 CSR 上傳可能會靜默失敗。一個簡單(且安全)的解決方法是puppetca --generate clientname.domain.com在您的 puppetmaster 上使用為客戶端製作密鑰對和簽名證書。一個簡單且不安全的解決方法是通過將 ‘*.domain.com’ 放入 puppetmaster 的 autosign.conf 中來為您的域打開自動簽名$confdir

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