web-dev-qa-db-ja.com

Puppetサーバーのホスト名が証明書と一致しません-認証できません。人形認証を無効にする方法は?

Puppetエージェントにマスターを認証させるのに問題があります。

エージェントでは、最初にSudo puppet agent --testを行いました

info: Creating a new SSL key for m-agent-2
info: Caching certificate for ca
info: Creating a new SSL certificate request for m-agent-2
info: Certificate Request fingerprint (md5): 43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4

その後、マスターでSudo puppet cert listを行い、

"m-agent-2" (43:30:57:53:5B:20:F7:12:CD:94:59:17:12:28:68:A4)

それから私はSudo puppet cert sign m-agent-2をしました。

notice: Signed certificate request for m-agent-2
notice: Removing file Puppet::SSL::CertificateRequest m-agent-2 at                 
'/var/lib/puppet/ssl/ca/requests/m-agent-2.pem'

それから私はSudo puppet agent --testをしました。

info: Caching certificate for m-agent-2
err: Could not retrieve catalog from remote server: Server hostname 'puppet' did not match server certificate; expected master-node-1
warning: Not using cache on failed catalog
err: Could not retrieve catalog; skipping run
err: Could not send report: Server hostname 'puppet' did not match server certificate; expected master-node-1

Confファイルのcertname = master-node-1[main]の両方のセクションにある[master]の両方の行が含まれています。マスターの証明書を再生成しました

Sudo find $(puppet master --configprint ssldir) -name "$(puppet master --configprint certname).pem" -delete   
Sudo puppet master --no-daemonize --verbose

また、/ etc/hostsファイルには10.20.32.10 learn.localdomain learn puppet.localdomain puppet行が含まれており、エージェントからpuppetとpuppet.learnの両方にpingを実行できます。

しかし、私はまだ同じ問題を抱えています。これを修正する方法はありますか?または、puppetの認証をまとめて無効にします。マスターノードとスレーブノードの両方がUbuntu12.04を実行しており、私はpuppet2.7.11を実行しています。どんな助けでも大歓迎です。

2
Spart

クライアントは、マスターがpuppet.confpuppet構成に従って、ホスト名serverを持つことを期待しています。これがデフォルトであるため、serverがない場合設定すると、puppetを使用します。マスターのSSL証明書はその名前に対して有効である必要があります。そうでない場合、クライアントは接続を拒否します。

通常、マスターは、サブジェクト代替名を使用して、自身のホスト名とpuppetホスト名に有効な証明書を生成します。ただし、マスターのpuppet.confに明示的なcertnameがある場合はこれを上書きします。 puppet cert --list master-node-1をチェックして確認します-証明書の拇印の後に(alt names: "puppet")のようなものが表示されているはずです。

クライアントがserver構成を使用して実際のホスト名を指すようにするか、サーバーの証明書をホスト名puppetに対して有効にすることで、これを修正します。

9
Shane Madden