Làm thế nào để tự tạo Puppet CA và chứng chỉ?


13

Tôi đang tự hỏi làm thế nào để thủ công (sử dụng openssl thay vì lệnh Puppet ca) tạo CA có thể sử dụng được bằng Puppet? Mục tiêu sẽ là tạo kịch bản của các CA đó để triển khai chúng trên nhiều nghệ sĩ múa rối, thay vì các chứng chỉ được tạo trên chúng thông qua lệnh chứng nhận rối.

Bất kỳ ý tưởng về làm thế nào để làm điều đó? Tôi chỉ có thể tìm thấy một cái gì đó như thế: https://wiki.mozilla.org/ReleaseEngineering/PuppetAgain/HowTo/Set_up_a_standalone_puppetmaster nhưng nó không làm việc - sau khi tạo CA và cert khách hàng và áp dụng chúng vào puppetmaster, nó than phiền với:

Feb 16 09:35:20 test puppet-master[81728]: Could not prepare for execution: The certificate retrieved from the master does not match the agent's private key.
Feb 16 09:35:20 test puppet-master[81728]: Certificate fingerprint: 4F:08:AE:01:B9:14:AC:A4:EA:A7:92:D7:02:E9:34:39:1C:5F:0D:93:A0:85:1C:CF:68:E4:52:B8:25:D1:11:64
Feb 16 09:35:20 test puppet-master[81728]: To fix this, remove the certificate from both the master and the agent and then start a puppet run, which will automatically regenerate a certficate.
Feb 16 09:35:20 test puppet-master[81728]: On the master:
Feb 16 09:35:20 test puppet-master[81728]:   puppet cert clean test
Feb 16 09:35:20 test puppet-master[81728]: On the agent:
Feb 16 09:35:20 test puppet-master[81728]:   rm -f /var/puppet/ssl/certs/test.pem
Feb 16 09:35:20 test puppet-master[81728]:   puppet agent -t


Cảm ơn, nhưng thật không may, nó chỉ nói có thể, mà không hiển thị như thế nào. Tôi thêm vào đó, nó đề cập đến phiên bản Puppet khá cũ.
ClimbMe

@SpankMe Tại sao không sử dụng puppet cert generate?
Shane Madden

3
@Shane Bởi vì tôi sẽ phải bọc các lệnh hệ thống trong các tập lệnh với các đối tượng Popen, xác thực đầu ra của chúng bằng cách phân tích văn bản ... Nó kém linh hoạt và 'kosher' hơn so với việc sử dụng thư viện openssl và ngoài ra còn yêu cầu cài đặt rối trên máy chủ , nơi không nên cài đặt - Tôi chỉ muốn tạo trước CA của con rối và các máy khách của khách hàng ở đó, sau đó phân phối chúng cho các máy thích hợp.
ClimbMe

Câu trả lời:


1

Các đại lý không sử dụng chứng chỉ ứng dụng khách được tạo trước. Nó đã tạo ra một CSR (với một khóa mới) thay vào đó, do đó, chủ sẽ không tin tưởng vào tác nhân.

Đảm bảo rằng các tệp được tìm thấy trong

`puppet agent --configprint ssldir`/{certs,private_keys}/`puppet agent --configprint certname`

giống hệt với những thứ mà bạn đã tạo ra trước và cũng được đặt lên chủ của mình. (Người chủ không nên nhận một bản sao khóa riêng của đại lý.)


-1

Tôi không biết tại sao bạn lại cần một kịch bản tạo certs? Một khi con rối tạo ra chứng chỉ sẽ tốt miễn là bạn có khách hàng (đại lý). Trừ khi bạn xóa máy khách và tạo một máy khách mới có cùng tên máy chủ. Nếu bạn chạy rối, nó sẽ phàn nàn rằng có sự không khớp khóa riêng. Thay vào đó, bạn nên xóa chứng chỉ trên máy chủ con rối bất cứ khi nào bạn không cần máy khách (ví dụ: bạn đang cài đặt lại hệ điều hành hoặc tạo lại máy ảo) với puppet cert clean testtrên con rối.


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.