आप क्लाइंट मशीन के लिए सर्वर मशीन के प्रमाणीकरण और उपयोगकर्ता के प्रमाणीकरण को सर्वर मशीन से मिला रहे हैं।
सर्वर प्रमाणीकरण
एसएसएच कनेक्शन स्थापित होने पर होने वाली पहली चीजों में से एक यह है कि सर्वर क्लाइंट को अपनी सार्वजनिक कुंजी भेजता है, और क्लाइंट के लिए ( सार्वजनिक कुंजी क्रिप्टोग्राफी के लिए धन्यवाद) साबित करता है कि यह संबंधित निजी कुंजी जानता है। यह सर्वर को प्रमाणित करता है: यदि प्रोटोकॉल का यह भाग सफल होता है, तो क्लाइंट जानता है कि सर्वर वह है जो यह दिखावा करता है कि यह है।
क्लाइंट जाँच सकता है कि सर्वर एक ज्ञात है, न कि कुछ दुष्ट सर्वर सही एक के रूप में पास होने की कोशिश कर रहे हैं। SSH सर्वर की वैधता को सत्यापित करने के लिए केवल एक सरल तंत्र प्रदान करता है: यह उन सर्वरों को याद करता है जो आप ~/.ssh/known_hosts
क्लाइंट मशीन पर फ़ाइल में कनेक्ट कर चुके हैं (सिस्टम-वाइड फ़ाइल भी है /etc/ssh/known_hosts
)। पहली बार जब आप किसी सर्वर से कनेक्ट होते हैं, तो आपको कुछ अन्य तरीकों से जांचने की आवश्यकता होती है कि सर्वर द्वारा प्रस्तुत सार्वजनिक कुंजी वास्तव में उस सर्वर की सार्वजनिक कुंजी है जिसे आप कनेक्ट करना चाहते थे। यदि आपके पास उस सर्वर की सार्वजनिक कुंजी है जिसे आप कनेक्ट करना चाहते हैं, तो आप इसे ~/.ssh/known_hosts
क्लाइंट पर मैन्युअल रूप से जोड़ सकते हैं ।
किसी भी गोपनीय डेटा को भेजने से पहले सर्वर को प्रमाणित करना होगा। विशेष रूप से, यदि उपयोगकर्ता प्रमाणीकरण में एक पासवर्ड शामिल है, तो पासवर्ड को किसी अनहोनी सर्वर पर नहीं भेजा जाना चाहिए।
प्रयोक्ता प्रमाणीकरण
सर्वर केवल एक दूरस्थ उपयोगकर्ता को लॉग इन करने देता है यदि वह उपयोगकर्ता यह साबित कर सकता है कि उन्हें उस खाते तक पहुंचने का अधिकार है। सर्वर के कॉन्फ़िगरेशन और उपयोगकर्ता की पसंद के आधार पर, उपयोगकर्ता कई प्रकार के क्रेडेंशियल्स में से एक प्रस्तुत कर सकता है (नीचे दी गई सूची संपूर्ण नहीं है)।
- उपयोगकर्ता उस खाते के लिए पासवर्ड प्रस्तुत कर सकता है जिसे वह लॉग इन करने की कोशिश कर रहा है; सर्वर तब सत्यापित करता है कि पासवर्ड सही है।
- उपयोगकर्ता सार्वजनिक कुंजी प्रस्तुत कर सकता है और यह साबित कर सकता है कि उसके पास उस सार्वजनिक कुंजी से जुड़ी निजी कुंजी है। यह ठीक उसी विधि है जिसका उपयोग सर्वर को प्रमाणित करने के लिए किया जाता है, लेकिन अब उपयोगकर्ता अपनी पहचान साबित करने की कोशिश कर रहा है और सर्वर उन्हें सत्यापित कर रहा है। यदि उपयोगकर्ता यह साबित करता है कि वह निजी कुंजी जानता है और लॉगिन कुंजी खाता की प्राधिकरण सूची (
~/.ssh/authorized_keys
सर्वर पर) में है, तो लॉगिन प्रयास स्वीकार किया जाता है ।
- एक अन्य प्रकार की विधि में उपयोगकर्ता को क्लाइंट मशीन को प्रमाणित करने के काम का हिस्सा शामिल करना शामिल है। यह नियंत्रित वातावरण में होता है जैसे कि उद्यम, जब कई मशीनें समान खाते साझा करती हैं। सर्वर क्लाइंट मशीन को उसी तंत्र द्वारा प्रमाणित करता है जिसका उपयोग दूसरे तरीके से किया जाता है, फिर उपयोगकर्ता को प्रमाणित करने के लिए क्लाइंट पर निर्भर करता है।