2015-03-18 38 views
5

Jestem całkiem nowy dla szefa kuchni i zainstalowałem serwer szefa kuchni 11 na Node1, udało mi się pomyślnie skonfigurować stację roboczą na Node2 i kiedy otrzymuję listę użytkowników otrzymuję całą listę użytkownikówBłąd sprawdzania poprawności ssl nadchodzi podczas robienia ustawień szefa kuchni

[[email protected] .chef]# knife user list 
admin 
root 

Ale po uruchomieniu bootstrapu noża pojawia się następujący błąd.

[[email protected] .chef]# knife bootstrap 10.4.6.214 -x root -N slave1 --sudo 
Doing old-style registration with the validation key at /opt/chef/chef-repo/.chef/chef-validator.pem... 
Delete your validation key in order to use your user credentials instead 

Connecting to X.X.X.X 
[email protected]'s password: 
X.X.X.X Starting first Chef Client run... 
X.X.X.X Starting Chef Client, version 12.1.1 
X.X.X.X Creating a new client identity for slave1 using the validator key. 
X.X.X.X [2015-03-19T00:42:00+05:30] ERROR: SSL Validation failure connecting to host: staging4.akosha.com - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
X.X.X.X 
X.X.X.X ================================================================================ 
X.X.X.X Chef encountered an error attempting to create the client "slave1" 
X.X.X.X ================================================================================ 
X.X.X.X 
X.X.X.X [2015-03-19T00:42:00+05:30] FATAL: Stacktrace dumped to /var/chef/cache/chef-stacktrace.out 
X.X.X.X Chef Client failed. 0 resources updated in 6.045009421 seconds 
X.X.X.X [2015-03-19T00:42:00+05:30] ERROR: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 
X.X.X.X [2015-03-19T00:42:00+05:30] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1) 

Przeczytałem cały blog robi konfigurację klienta, ale nie natknąłem się jakiegokolwiek rozwiązania, Każda pomoc będzie mile widziane w tym ....

Myślałem, że może być jakiś problem z moim kucharz stacji roboczej, ale nie było

[[email protected] chef-repo]# knife ssl check -s https://staging4.akosha.com 
Connecting to host staging4.akosha.com:443 
Successfully verified certificates from `staging4.akosha.com' 

Odpowiedz

11

Istnieje kilka informacji tutaj można spojrzeć na:

https://docs.chef.io/chef_client_security.html

z kuchni 12 trzeba uruchomić polecenie:

knife ssl fetch 

Alternatywnie można włączyć weryfikacji ssl w pliku knife.rb z tym ustawieniem:

ssl_verify_mode :verify_none 
+1

Cześć Alex, thanx za odpowiedź, ja uruchomić nóż ssl sprowadzić na mojej stacji roboczej i działało poprawnie. Problem dotyczy niemy niewolnika (klienta). – Pulkit

+0

Pomógł mi jako tymczasowe rozwiązanie dla lokalnego placu zabaw dla szefów kuchni. Osobiście nie polecam wyłączania weryfikacji przy produkcji. – QtRoS

12

Węzeł docelowy nie wiem certyfikat serwera szefa kuchni i nie można go sprawdzić.

Będziesz musiał dodać certyfikat szefa kuchni do klienta.

Myślę, że błąd wciąż jest otwarty na temat noża, nie przesuwając katalogu trusted_certs do bootstraping węzłów.

Obejście teraz, bootstrap z --node-ssl-verify-mode none więc klient kucharz nie zweryfikuje SSL (i będzie pisać ssl_verify_mode :verify_none do węzła client.rb IIRC)

Po że będziesz mógł korzystać z książki kucharskiej, aby skłonić kucharza -server i skonfiguruj parametry ssl na przykład z książki kucharskiej chef-client.

+0

brat thanx. Uciekłem i wszystko mi się udało. Jeszcze jedno pytanie: istnieje sposób, w jaki mogę uruchomić przepis na kliencie z samego serwera. Przepraszam, jeśli zadaję bezużyteczne pytanie. – Pulkit

+1

Szef kuchni to model pociągający, szef kuchni-klient działa na węźle i pyta serwer o jego listę startową. Jest wiele sposobów na wyrzucenie szefa-klienta z węzła, jednym z nich jest 'nóż ssh' ze stacji roboczej. W szefie kuchni 12 jest również dodatek typu "push-job" (darmowy poniżej 25 węzłów, licencja poprosi o więcej) – Tensibai

+0

fajna sztuczka działa, korzystam z serwera szefa kuchni 11 :) – Pulkit

1

Install Chef-klienta

sudo knife client create chef-client -a -f "/etc/chef/client.pem" -e vi 
knife bootstrap 192.168.yy.xxx -x vagrant -P vagrant --sudo 

od Chef-serwer

scp /etc/chef/client.pem chef-server:/etc/chef/ 

na Chef-serwer

mkdir -p ~/.chef/trusted_certs 
sudo cp /var/opt/opscode/nginx/ca/chef-server.crt ~/.chef/trusted_certs 

na kliencie, pobrać cert do tej samej lokalizacji

mkdir -p ~/.chef/trusted_certs 
knife ssl fetch 

Jeśli to zawiedzie, z klientem, uruchom

scp chef-server:/home/vagrant/.chef/trusted_certs/chef-server.crt /home/vagrant/.chef/trusted_certs/chef-server.crt 

to nie jest wymagane:

export SSL_CERT_FILE=/opt/chef/embedded/ssl/certs/cacert.pem 

na klienta, aktualizacja /etc/chef/client.rb.Ten etap eliminuje cert w przypadku klienta kuchni jest nadal nie

ssl_verify_mode :verify_none 

/etc/chef/client.rb 
log_level  :info 
log_location  STDOUT 
chef_server_url "https://chef-server/organizations/admin" 
validation_client_name "admin-validator" 
ssl_verify_mode :verify_none 

kucharz-klient powinien pracować

3
sudo knife ssl fetch 

// adding 
ssl_verify_mode :verify_none 

do pliku knife.rb stacji roboczej pracował dla mnie.

tych z Was, którzy używają AWS Ubuntu, upewnij się, że używasz DNS publicznego z was od Chef-serwerze w pliku knife.rb