複数のホスト名を持つサーバー証明書とクライアント証明書の生成

複数のホスト名を持つサーバー証明書とクライアント証明書の生成

Puppet Master を初めて起動すると、独自のサーバー証明書が自動的に生成されます。これは素晴らしいことです。

私のサーバーのホスト名はでありkungfumaster、Puppet マスターは次の共通名を持つ証明書を生成します:

kungfumaster.mynetwork.com

また、サブジェクト代替 DNS 名として次のものも追加されます。

X509v3 Subject Alternative Name:
    DNS:kungfumaster.mynetwork.com, DNS:puppet, DNS:puppet.mynetwork.com

このドメインが に存在することをどのようにして発見したのかは正確にはわかりませんmynetwork.comが、 はhostnameパラメータ設定で FQDN を明らかにしないため、 に存在することがわかります。

しかし、見逃されたと思われる名前が 1 つあります。それは、修飾されていないホスト名 ですkungfumaster。興味深いことに、 と のドメインは追加されましたpuppetpuppet.mynetwork.com、 は都合よくスキップされましたkungfumaster

Puppet Master の起動スクリプトで、必要な DNS 名をすべて含むサーバーの証明書を適切に生成するにはどうすればよいですか?

答え1

何かを実行する前に、puppet certツールを使用して、指定された代替 DNS 名のリストを含む証明書名を生成します。

puppet cert generate --dns_alt_names \
    kungfumaster,kungfumaster.mynetwork.com kungfumaster

すでに生成している場合は、それを消去します。

puppet cert clean -a

ゾーン情報をどのように認識するかをまだ理解する必要がありますが、それは別の問題です。

関連情報