Puppetマスター/エージェントをセットアップし、マスター上のエージェントの証明書に正常に署名しました。しかし、実行するpuppet agent --test
と、次のようなエラーが発生します。
Warning: Unable to fetch my node definition, but the agent run will continue:
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources using 'eval_generate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Error: /File[/var/lib/puppet/lib]: Could not evaluate: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com] Could not retrieve file metadata for puppet://hostname.domain.com/plugins: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Error: Could not retrieve catalog from remote server: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed: [certificate signature failure for /CN=hostname.domain.com]
hostname.domain.com
マスターであります
どうすれば修正できますか?両方のクロックが同じタイムゾーンの正しい時刻にあることを確認しました。エージェント/var/lib/puppet/ssl
ディレクトリ内のすべてを削除して辞任しました。他に何をすべきかわかりません。
masterhost.domain.com
はhostname.domain.com
あなたの質問と同じですよね?これを試してみましょう。証明書が手動で検証されるかどうかを確認します。を実行しopenssl s_client -connect masterhost.domain.com:8140 -showcerts
、証明書データ(で始まり-----BEGIN CERTIFICATE-----
、その行と証明書の最終行を含める)を新しいファイルにコピーしてからを実行しopenssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/command
、検証されるかどうかを確認します。
-showcerts
の内容に/var/lib/puppet/ssl/certs/ca.pem
-彼らは同一である必要がありますか?