known_hosts
फ़ाइल की कुंजी जोड़ने "सुरक्षित रूप से" का सबसे महत्वपूर्ण हिस्सा सर्वर व्यवस्थापक से कुंजी फिंगरप्रिंट प्राप्त करना है। मुख्य फिंगरप्रिंट कुछ इस तरह दिखना चाहिए:
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
GitHub के मामले में, आम तौर पर हम सीधे किसी प्रशासक से बात नहीं कर सकते हैं। हालाँकि, वे कुंजी को अपने वेब पेजों पर डालते हैं ताकि हम वहां से जानकारी पुनर्प्राप्त कर सकें।
मैनुअल कुंजी स्थापना
1) सर्वर से कुंजी की एक प्रति लें और उसका फिंगरप्रिंट प्राप्त करें। NB: फिंगरप्रिंट की जाँच करने से पहले ऐसा करें ।
$ ssh-keyscan -t rsa github.com | tee github-key-temp | ssh-keygen -lf -
# github.com:22 SSH-2.0-babeld-f3847d63
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
2) सर्वर व्यवस्थापक से मुख्य फिंगरप्रिंट की एक प्रति प्राप्त करें - इस मामले में github.com पर जानकारी के साथ पृष्ठ पर नेविगेट करें
- Github.com पर जाएं
- मदद के लिए जाओ पेज (अगर में लॉग इन दाईं ओर मेनू पर, मुखपृष्ठ के नीचे अन्यथा पर)।
- में प्रारंभ करना अनुभाग पर जाएँ SSH के साथ GitHub से कनेक्ट
- अपने SSH कनेक्शन का परीक्षण करने के लिए जाएं
- बाद में उपयोग के लिए अपने टेक्स्ट एडिटर में उस पेज से SHA256 फिंगरप्रिंट कॉपी करें।
3) दो स्रोतों से कुंजियों की तुलना करें
पाठ संपादक में उन्हें सीधे एक के ऊपर एक रखकर, यह देखना आसान है कि क्या कुछ बदल गया है
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA) #key recovered from github website
2048 SHA256:nThbg6kXUpJ3Gl7E1InsaspRomtxdcArLviKaEsTGY8 github.com (RSA) #key recovered with keyscan
(ध्यान दें कि दूसरी कुंजी में हेरफेर किया गया है, लेकिन यह मूल के समान है - यदि ऐसा कुछ होता है तो आप गंभीर हमले के अधीन हैं और एक विश्वसनीय सुरक्षा विशेषज्ञ से संपर्क करना चाहिए।)
यदि कुंजियाँ भिन्न हैं, तो प्रक्रिया को निरस्त करें और सुरक्षा विशेषज्ञ से संपर्क करें
4) यदि चाबियाँ सही तरीके से तुलना करती हैं, तो आपको पहले से डाउनलोड की गई कुंजी को स्थापित करना चाहिए
cat github-key-temp >> ~/.ssh/known_hosts
या सिस्टम पर सभी उपयोगकर्ताओं के लिए स्थापित करने के लिए (रूट के रूप में):
cat github-key-temp >> /etc/ssh/ssh_known_hosts
स्वचालित कुंजी स्थापना
यदि आपको निर्माण प्रक्रिया के दौरान एक कुंजी जोड़ने की आवश्यकता है, तो आपको उपरोक्त मैनुअल प्रक्रिया के चरणों का पालन करना चाहिए।
ऐसा करने के बाद, अपनी github-key-temp
फ़ाइल की सामग्री की जांच करें और उन सामग्रियों को अपनी ज्ञात होस्ट फ़ाइल में जोड़ने के लिए एक स्क्रिप्ट बनाएं।
if ! grep github.com ~/.ssh/known_hosts > /dev/null
then
echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
fi
आपको अब किसी भी कमांड से छुटकारा पाना चाहिए ssh
जो StrictHostKeyChecking
अक्षम हो गया है।