परिणाम प्राप्त करने का एक तरीका है:
शेफ के पास trusted_dir
विश्वसनीय सूची में प्रमाणपत्र जोड़ने की अनुमति है। प्रलेखन इसके बारे में विवरण का एक बहुत है। इस निर्देशिका में अपना CA प्रमाणपत्र जोड़ने से समस्या हल हो जाएगी। knife
यह भी अपने स्वयं के प्रलेखन के अनुसार थोड़ा अलग रास्ते में है
शेफ अपनी स्वयं की CA प्रमाणित सूची का उपयोग करें /opt/chef/embedded/ssl/certs/cacert.pem
। इस पर भरोसा करने के लिए आप इस सूची के अंत में अपना सीए प्रमाणपत्र जोड़ सकते हैं।
दूसरा विकल्प आपके पास सीए प्रमाणपत्र को जानने के लिए लाइब्रेरी का उपयोग करने वाले अधिकांश टूल को अनुमति देने के SSL_CERT_FILE
लिए शेफ cacert.pem
को इंगित करने वाले पर्यावरण चर को निर्यात करने की अनुमति देने का एक फायदा है openssl
।
शेफ सर्वर (या एक नुस्खा में लक्ष्य के रूप में इस्तेमाल किया गया दूसरा सर्वर) पर एक स्व-हस्ताक्षरित प्रमाण पत्र के मामले के लिए, knife ssl_fetch
सभी चाकू आदेशों को काम करने की अनुमति देगा।
मामले के लिए cacert.pem में सर्वर प्रमाणपत्र जोड़ने के लिए 2. ऊपर, आप निम्न आदेश का उपयोग कर सकते हैं:
# For a self signed CA certiticate
openssl s_client -showcerts -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null|openssl x509 -outform PEM >> /opt/chefdk/embedded/ssl/certs/cacert.pem
# For an internal CA signed certificate:
openssl s_client -showcerts -verify 5 -connect <YOUR_CHEF_SERVER>:443 </dev/null 2>/dev/null | awk '/BEGIN/,/END/{if(/BEGIN/){a++}; certs[a]=(certs[a] "\n" $0)}; END {print certs[a]}' >> /opt/chefdk/embedded/ssl/certs/cacert.pem
export SSL_CERT_FILE=/opt/chefdk/embedded/ssl/certs/cacert.pem
ओपनसेल कमांड शेफ-डीके में शामिल है, इसलिए इसे विंडोज़ के तहत भी किया जा सकता है। के c:\opscode\
बजाय पथ बदलें /opt/
। अपने आदेश में पर्यावरण चर उपयोग set SSL_CERT_FILE=...
( /P
इसे अपने वातावरण में स्थायी रूप से जोड़ने के लिए) के निर्यात के लिए ।