Xác nhận đại lý rối


10

Tôi đã thiết lập Puppet Master / Agent và đã ký thành công chứng chỉ cho đại lý trên master. Tuy nhiên, khi tôi chạy, puppet agent --testtôi gặp một lỗi như thế này:

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]  

chủ hostname.domain.com

Làm thế nào để tôi sửa lỗi này? Tôi đã chắc chắn rằng cả hai đồng hồ đều ở đúng thời điểm trong cùng múi giờ, tôi đã xóa mọi thứ trong /var/lib/puppet/sslthư mục đại lý và đã từ chức, tôi không biết phải làm gì khác.


Chủ của bạn dường như đang sử dụng một chứng chỉ khác với niềm tin của khách hàng? Chứng chỉ thạc sĩ đã thay đổi?
Shane Madden

@ShaneMadden Tôi không nghĩ vậy ... tôi có nên dọn dẹp và thu hồi các chứng chỉ thạc sĩ và khách hàng không? Tôi hoàn toàn không gặp rắc rối với các chứng chỉ thạc sĩ, nhưng đây là đầu ra của "danh sách chứng nhận con rối --all" trông như thế nào: + "masterhost.domain.com" (SHA1) E1: F7: 6A: 21: CB: CD: xx: xx: xx: xx ... + "agenthost.domain.com" (SHA256) 5A: D9: 7B: 96: 0B: FF: E4: 87: 58: AF: 00: xx: xx: xx : xx ..
John Smith

Và đó masterhost.domain.comlà một hostname.domain.comtrong những câu hỏi của bạn, phải không? Hãy thử điều này, chúng tôi sẽ xem các chứng chỉ xác minh bằng tay; chạy openssl s_client -connect masterhost.domain.com:8140 -showcertsvà sao chép dữ liệu chứng chỉ (bắt đầu bằng -----BEGIN CERTIFICATE-----, bao gồm dòng đó và dòng chứng chỉ cuối) vào một tệp mới, sau đó chạy openssl verify -CAfile /var/lib/puppet/ssl/certs/ca.pem /path/to/file/from/last/commandvà xem nếu nó xác minh.
Shane Madden

@ShaneMadden Có vẻ như có gì đó không ổn .... Khi tôi chạy lệnh "-showcerts", nó đã cho tôi hai chứng chỉ "bắt đầu" và "kết thúc", vì vậy tôi đã thử trước tiên thêm một trong số đó vào một tệp mới và nhận được này: / var / lib / Puppet / ssl / ca / ​​test: /CN=masterhost.domain.com lỗi 7 ở 0 độ sâu tra cứu: lỗi chữ ký chứng chỉ 22297: error: 0407006A: rsa thường trình: RSA_padding_check_PKCS1_type_1: loại khối không phải là 01: rsa_pk1.c: 100: 22.297: lỗi: 04.067.072: thói quen rsa: RSA_EAY_PUBLIC_DECRYPT: kiểm tra đệm thất bại: rsa_eay.c: 697: 22.297: lỗi: 0D0C5006: asn1 mã hóa thói quen: ASN1_item_verify: EVP lib: a_verify.c: 173:
John Smith

Điều đó thật lạ. Có vẻ như nó đang gửi chứng chỉ gốc cùng với chứng chỉ máy chủ trong kết nối, vì vậy có lẽ chỉ cần so sánh nội dung của chứng chỉ thứ hai -showcertsvới nội dung của /var/lib/puppet/ssl/certs/ca.pem- chúng có nên giống hệt nhau không?
Shane Madden

Câu trả lời:


13

Tạo lại toàn bộ thiết lập chứng chỉ ứng dụng khách. Điều này luôn luôn khắc phục bất kỳ vấn đề chứng chỉ mà chúng tôi đã trải qua trong quá khứ. Hướng dẫn sau đây giả sử tên máy chủ của đại lý của bạn là agenthost.hostname.com

Trên máy khách, xóa tất cả các certs được lưu trữ, bao gồm cả CA:

find /var/lib/puppet/ssl -name '*.pem' -delete

Trên bản gốc, xóa mọi CSR đang chờ xử lý hoặc chứng chỉ ứng dụng khách cũ cho ứng dụng khách này:

find /var/lib/puppet/ssl -name agenthost.domain.com.pem -delete

Sau đó, trên máy khách, kết nối lại với chủ và gửi CSR:

puppet agent -t --waitforcert=60

và khi nó đang chờ (nếu bạn chưa bật chế độ tự động bật) thì trên bản chính phê duyệt CSR để chứng nhận ứng dụng khách mới được gửi lại:

puppet cert sign agenthost.domain.com

Điều này sẽ làm cho tác nhân tải lại chứng chỉ CA rối và đăng ký lại chứng chỉ của chính nó.

Chúng tôi đã phải sử dụng quy trình này trong quá khứ khi chúng tôi thay đổi máy chủ con rối và CA certs thay đổi hoặc khi chúng tôi xây dựng lại một máy chủ có cùng tên máy chủ.

Hãy chắc chắn rằng đại lý của bạn biết tên máy chủ thực sự đủ điều kiện của nó; sử dụng lệnh 'hostname' để đảm bảo rằng đó là những gì bạn mong đợi.


3
Trên Master, puppet cert clean ‘agentName’làm việc cho tôi. Vị trí ssl doanh nghiệp của RHEL : /etc/puppetlabs/puppet/ssl. Và tôi đã đồng bộ hóa thời gian giữa Master và Agent.
Ivan Châu

Puppet Enterprise, và Puppet 4 mới hơn, lưu trữ certs của họ dưới / etc / Puppetlabs / Puppet / ssl, như đã đề cập ở trên. Vị trí / var / lib / Puppet / ssl dành cho các phiên bản cộng đồng Puppet 2.x và 3.x.
Steve Shipway

6

Tôi có một vấn đề tương tự. Tôi đã thiết lập một môi trường mơ hồ với một nghệ sĩ múa rối và một số khách hàng. Vấn đề là khi tôi phá hủy và tạo ra người điều khiển rối, khách hàng phát hiện ra người điều khiển rối mới là kẻ mạo danh.

Xóa /etc/puppet/ssltrên máy khách giải quyết vấn đề.

Hãy nhớ rằng cấu hình ssl của bạn sẽ được lưu trong bộ nhớ cache, do đó cần phải khởi động lại máy chủ rối , nếu bạn quyết định xóa /etc/puppet/sslmáy chủ của mình trên máy chủ đó:

sudo /etc/init.d/puppetmaster restart

service puppetserver restartđã sửa nó cho tôi
spuder 8/10/19
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.