Làm thế nào để từ chối yêu cầu chứng chỉ trên Puppet Master?


13

Tôi có một số yêu cầu từ các đại lý có tên máy chủ xấu. Tôi đã sửa lỗi này, nhưng vẫn có các yêu cầu chưa xử lý với tên máy chủ xấu.

Tôi đã thử:

$puppet cert list
  "wrong.host.name" (SHA256) 8E:...:51

$ puppet cert revoke wrong.host.name
Error: Could not find a serial number for wrong.host.name

$ puppet cert clean wrong.host.name
Error: Could not find a serial number for wrong.host.name

Cách thích hợp để thoát khỏi chúng là gì?

Câu trả lời:


23

Sử dụng ca hoạt động tốt hơn và có thể xóa chứng chỉ trong một bước không giống như cert. Điều quan trọng, nó không khiến bạn tạm thời ký một chứng chỉ không hợp lệ.

$ puppet ca destroy wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'
Deleted for wrong.host.name: Puppet::SSL::CertificateRequest

Các puppet ca chỉ huy gần đây đã bị phản đối vì vậy tại một số điểm nó có thể biến mất, nhưng không có lệnh tương đương. Đây là một lỗi đã nộp, mà bạn có thể bỏ phiếu nếu bạn nghĩ rằng sẽ hơi ngớ ngẩn khi loại bỏ lệnh này mà không có sự thay thế.


Đây là câu trả lời đúng. Tất cả các hướng dẫn được đưa ra bởi câu trả lời được chấp nhận đều không hoạt động hoặc yêu cầu bạn ký chứng chỉ mà bạn biết là xấu.
tedivm

Những gì @tedivm nói. Do đó: +1.
gf_

Điều này hoạt động, nhưng nó đã được đánh dấu là không dùng nữa. Bất cứ ai cũng biết phương pháp mới là gì?
Swiss

@Swiss bạn có liên kết đến một số tài liệu cho thấy nó không dùng nữa không?
Nick

1
puppet cert clean bây giờ hoạt động để loại bỏ yêu cầu. Xem báo cáo lỗi được liên kết.
7yl4r

3

Giải pháp khả thi 1:

Sử dụng puppet cert clean trên con rối là cách thích hợp. Tuy nhiên, vì bạn đang gặp lỗi, bạn có thể có một kho chứng chỉ không tốt.

Hãy thử làm lại một kho lưu trữ sau đó sạch sẽ:

$ puppet cert reinventory
$ puppet cert clean --all

Lưu ý: ví dụ của tôi sử dụng --all cờ, điều này sẽ xóa tất cả các chứng chỉ, đã ký và chưa ký. Ngoài ra, hãy lưu ý rằng nên dừng Master Puppet trước khi chạy reinventory.

Nguồn: http://docs.puppetlabs.com/references/3.6.2/man/cert.html

Giải pháp khả thi 2:

$ puppet cert sign wrong.host.name
Notice: Signed certificate request for wrong.host.name
Notice: Removing file Puppet::SSL::CertificateRequest wrong.host.name at '/var/lib/puppet/ssl/ca/requests/wrong.host.name.pem'

$ puppet cert clean wrong.host.name
Notice: Revoked certificate with serial 87
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/ca/signed/wrong.host.name.pem'
Notice: Removing file Puppet::SSL::Certificate wrong.host.name at '/var/lib/puppet/ssl/certs/wrong.host.name.pem'

Giải pháp khả thi 3:

Đầu tiên: Trên máy chủ

$ puppet cert --revoke wrong.host.name
$ puppet cert --clean wrong.host.name

Thứ hai: Trên máy khách

$ rm -rf /usr/lib/puppet/ssl
$ puppet agent --server [puppetmaster domain name] --waitforcert 60

Thứ ba: Trên máy chủ (điều chỉnh khi cần thiết)

$ puppet cert --list (you should see your host)
$ puppet cert --sign wrong.host.name

Ngoài ra, hãy kiểm tra kỹ xem khách hàng của bạn có thể truy cập [tên miền con rối] không.

Nguồn: https://serverfault.com/questions/574976/puppet-yrying


Cảm ơn, tôi đã thử reinventory và sau đó clean wrong.host.name bởi vì tôi cũng không muốn thu hồi các certs tốt, nhưng tôi vẫn gặp lỗi số sê-ri.
Louis

Bắt tốt trên --all. Tôi chỉ cần thêm một bản cập nhật có giá trị một shot.
tbenz9

Tuyệt, sau khi làm puppet cert sign wrong.host.name sử dụng clean công trinh. Có vẻ sai rằng tôi phải ký nó trước.
Louis

1
Cũng đừng quên khởi động lại dịch vụ con rối sau khi làm sạch bất kỳ chứng chỉ nào.
Robert Fey

1
FYI, câu trả lời khác là nhiều tốt hơn cái này Nếu bạn làm theo lời khuyên của OP, bạn sẽ chạy các lệnh không hoạt động (như lệnh sạch) hoặc bạn sẽ ký các chứng chỉ mà bạn biết là xấu. Nếu bạn làm theo lời khuyên dưới đây và chỉ cần sử dụng puppet ca destroy wrong.host.name bạn không phải giới thiệu rủi ro bảo mật cho cơ sở hạ tầng của mình.
tedivm

2

Đây là cách tôi đã làm

[root@puppetmc ca]# puppet cert clean sparrow.home
Error: Could not find a serial number for sparrow.home
[root@puppetmc ca]# cat inventory.txt 
0x0002 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=puppetmc.home
0x0003 2015-05-17T23:25:33GMT 2020-05-16T23:25:33GMT /CN=sparrow.rospop.com
0x0004 2015-05-18T00:53:18GMT 2020-05-17T00:53:18GMT /CN=puppetmc.home
0x0005 2015-05-18T02:18:12GMT 2020-05-17T02:18:12GMT /CN=sparrow.rospop.com
[root@puppetmc ca]# vi  inventory.txt 

đã thêm dòng dưới đây vào Invent.txt:

0x0001 2015-05-17T06:33:29GMT 2020-05-16T06:33:29GMT /CN=sparrow.home

sau đó chạy

[root@puppetmc ca]# puppet cert clean sparrow.home
Notice: Revoked certificate with serial 1
Notice: Removing file Puppet::SSL::CertificateRequest sparrow.home at '/var/lib/puppet/ssl/ca/requests/sparrow.home.pem'
Vince Bhebhe

1

"Ở đâu dọn dẹp thất bại trong một trường hợp tôi đã phải ký tên và sau đó dọn dẹp "

Đồng nghiệp của tôi nó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.