इस लेख में
SSH कुंजियों को समझना
SSH कुंजियाँ पासवर्ड-आधारित प्रमाणीकरण का अधिक सुरक्षित और सुविधाजनक विकल्प देती हैं। हर बार किसी सर्वर से जुड़ने या Git रिपॉजिटरी में कोड पुश करने के लिए पासवर्ड टाइप करने के बजाय, SSH क्रिप्टोग्राफिक कुंजियों की एक जोड़ी का उपयोग करता है -- एक निजी कुंजी जो आपकी मशीन पर ही रहती है और एक सार्वजनिक कुंजी जिसे आप सर्वरों के साथ साझा करते हैं। सर्वर आपकी पहचान की पुष्टि गणितीय रूप से करता है, और आपकी गुप्त कुंजी कभी नेटवर्क पर नहीं जाती।
आधुनिक SSH कई प्रकार की कुंजियों का समर्थन करता है। ज़्यादातर उपयोगकर्ताओं के लिए Ed25519 अनुशंसित विकल्प है -- यह छोटे कुंजी आकार और तेज़ संचालन के साथ मज़बूत सुरक्षा देता है। ECDSA पुराने सिस्टमों पर व्यापक अनुकूलता के साथ समान इलिप्टिक कर्व सुरक्षा प्रदान करता है। RSA अब भी व्यापक रूप से समर्थित है और कुछ पुराने सिस्टमों के लिए एकमात्र विकल्प है, हालाँकि नए एल्गोरिद्म की सुरक्षा के बराबर पहुँचने के लिए इसे लंबी कुंजी लंबाई (कम से कम 3072 बिट, बेहतर हो तो 4096) की ज़रूरत होती है।
SSH कुंजी जनरेटर का उपयोग कैसे करें
CheckTown का SSH कुंजी जनरेटर किसी सर्वर को कोई डेटा भेजे बिना सीधे आपके ब्राउज़र में कुंजी जोड़ियाँ बनाता है।
- अपना कुंजी एल्गोरिद्म चुनें -- Ed25519 (अनुशंसित), ECDSA (P-256, P-384, P-521), या RSA (2048, 3072, 4096 बिट)
- कुंजी की पहचान के लिए वैकल्पिक रूप से एक टिप्पणी जोड़ें (आमतौर पर आपका ईमेल पता) और अतिरिक्त सुरक्षा के लिए एक पासफ़्रेज़
- अपनी कुंजी जोड़ी बनाने के लिए Generate पर क्लिक करें -- निजी कुंजी और सार्वजनिक कुंजी अलग-अलग फ़ील्ड में कॉपी करने के लिए तैयार दिखाई देती हैं
- निजी कुंजी को अपनी स्थानीय मशीन पर सहेजें (आमतौर पर ~/.ssh/id_ed25519 में) और सार्वजनिक कुंजी को अपने सर्वर या Git होस्टिंग प्रदाता में जोड़ें
निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं
SSH कुंजियाँ जनरेट करें →SSH कुंजी सुरक्षा के सुझाव
SSH कुंजियाँ शक्तिशाली क्रेडेंशियल हैं। अपने सर्वरों और खातों की सुरक्षा बनाए रखने के लिए इनकी उचित सुरक्षा ज़रूरी है।
- अपनी निजी कुंजी में हमेशा एक पासफ़्रेज़ जोड़ें -- अगर कुंजी फ़ाइल चोरी हो जाए, तो पासफ़्रेज़ किसी हमलावर को उसे तुरंत इस्तेमाल करने से रोकता है
- अपनी निजी कुंजी फ़ाइल पर सख़्त फ़ाइल अनुमतियाँ सेट करें -- chmod 600 का उपयोग करें ताकि केवल आपका उपयोगकर्ता खाता इसे पढ़ सके, और अपनी .ssh डायरेक्टरी पर chmod 700 लगाएँ
- अलग-अलग उद्देश्यों के लिए अलग-अलग कुंजी जोड़ियाँ इस्तेमाल करें -- एक कार्यालय के सर्वरों के लिए, दूसरी व्यक्तिगत परियोजनाओं के लिए, और एक और Git होस्टिंग के लिए। इससे किसी एक कुंजी के समझौता होने पर जोखिम सीमित रहता है
अक्सर पूछे जाने वाले सवाल
मुझे किस प्रकार की SSH कुंजी इस्तेमाल करनी चाहिए?
जब तक कोई ख़ास वजह न हो, Ed25519 का उपयोग करें। यह सबसे छोटे कुंजी आकार (256 बिट), तेज़ हस्ताक्षर निर्माण और कुछ साइड-चैनल हमलों के प्रति प्रतिरोध के साथ मज़बूत सुरक्षा देता है। अगर आपको ऐसे पुराने सिस्टमों के साथ अनुकूलता चाहिए जो Ed25519 का समर्थन नहीं करते, तो P-256 कर्व के साथ ECDSA का उपयोग करें। RSA का उपयोग केवल तब करें जब दूरस्थ सिस्टम को इसकी ज़रूरत हो, और हमेशा कम से कम 4096 बिट का उपयोग करें।
क्या ब्राउज़र में SSH कुंजियाँ जनरेट करना सुरक्षित है?
यह टूल Web Crypto API का उपयोग करके पूरी तरह आपके ब्राउज़र में कुंजियाँ बनाता है। कोई निजी कुंजी डेटा कभी किसी सर्वर को नहीं भेजा जाता -- सभी क्रिप्टोग्राफिक संचालन आपके डिवाइस पर स्थानीय रूप से होते हैं। आप कुंजी निर्माण के दौरान अपने ब्राउज़र डेवलपर टूल्स में नेटवर्क टैब जाँचकर इसकी पुष्टि कर सकते हैं। उच्च-मूल्य वाले सर्वरों पर अधिकतम सुरक्षा के लिए, आप अपने टर्मिनल में ssh-keygen का उपयोग करके भी स्थानीय रूप से कुंजियाँ बना सकते हैं।
मैं अपनी सार्वजनिक कुंजी को किसी सर्वर में कैसे जोड़ूँ?
अपनी सार्वजनिक कुंजी कॉपी करें और उसे दूरस्थ सर्वर की ~/.ssh/authorized_keys फ़ाइल में जोड़ें। आप यह ssh-copy-id कमांड से कर सकते हैं, या मैन्युअल रूप से सार्वजनिक कुंजी को authorized_keys फ़ाइल में एक नई पंक्ति पर पेस्ट करके कर सकते हैं। सुनिश्चित करें कि authorized_keys फ़ाइल की अनुमतियाँ 644 पर सेट हों और .ssh डायरेक्टरी की अनुमतियाँ 700 पर सेट हों। GitHub या GitLab जैसे Git प्लेटफ़ॉर्म पर, अपनी सार्वजनिक कुंजी को अपने खाता सेटिंग्स के SSH keys अनुभाग में पेस्ट करें।