पासवर्ड रहित प्रमाणीकरण का उपयोग करके एसएसएच पर गिटहब में साइन इन करने में समय बचाएं।

गिटहब के साथ प्रमाणीकरण में आमतौर पर एक्सेस टोकन या पासवर्ड का उपयोग करना शामिल होता है। हालाँकि, ये तरीके असुविधाजनक और असुरक्षित हो सकते हैं, खासकर जब कई उपकरणों से GitHub तक पहुँच प्राप्त कर रहे हों।

GitHub प्रमाणीकरण के लिए सिक्योर शेल (SSH) का उपयोग करने का विकल्प प्रदान करता है। SSH रिमोट मशीन एक्सेस के लिए एक सुरक्षित नेटवर्क प्रोटोकॉल प्रस्तुत करता है। यह सुविधा विशेष रूप से उन स्थितियों में महत्वपूर्ण साबित होती है जो ऑटोमेशन या बार-बार रिमोट एक्सेस की मांग करती हैं।

SSH प्रमाणीकरण को समझना

SSH के साथ प्रमाणीकरण में का उपयोग शामिल है क्रिप्टोग्राफ़िक कुंजियाँ क्लाइंट (स्थानीय मशीन) और सर्वर (GitHub) के बीच एक सुरक्षित कनेक्शन (सुरंग) स्थापित करने के लिए।

GitHub के लिए SSH का उपयोग करते समय, एक उपयोगकर्ता SSH कुंजियों की एक जोड़ी बनाता है - एक सार्वजनिक कुंजी और एक निजी कुंजी। सार्वजनिक कुंजी उपयोगकर्ता के GitHub खाते में अपलोड की जाती है, जबकि निजी कुंजी उपयोगकर्ता की स्थानीय मशीन पर सुरक्षित रूप से संग्रहीत रहती है।

instagram viewer

इस प्रक्रिया की तुलना ताला और चाबी की अवधारणा से की जा सकती है। सार्वजनिक कुंजी (लॉक) को खुले तौर पर साझा करने और सर्वर साइड पर सुरक्षित रूप से संग्रहीत करने का इरादा है। यह निजी कुंजी के समकक्ष के रूप में कार्य करता है, सर्वर को आपकी स्थानीय मशीन की पहचान सत्यापित करने में सक्षम बनाता है। इसके विपरीत, निजी कुंजी (कुंजी) आपके स्थानीय मशीन पर विशेष रूप से संग्रहीत एक विशिष्ट पहचानकर्ता के रूप में कार्य करती है, जो सर्वर के साथ सफल प्रमाणीकरण को सक्षम करती है।

GitHub के साथ प्रमाणीकरण के दौरान, आपकी स्थानीय मशीन पहचान के प्रमाण के रूप में अपनी निजी कुंजी प्रस्तुत करती है। सर्वर यह जांचता है कि क्या आपके GitHub खाते से जुड़ी संबंधित सार्वजनिक कुंजी दी गई निजी कुंजी से मेल खाती है। यदि कुंजियाँ मेल खाती हैं, तो सर्वर पहुँच प्रदान करता है, एक स्थापित करता है एन्क्रिप्टेड और सुरक्षित संचार के लिए कनेक्शन।

GitHub के लिए SSH की स्थापना

इस अनुभाग में, आप देखेंगे कि GitHub के साथ प्रमाणीकरण के लिए SSH कैसे सेट अप करें।

1. एसएसएच कुंजी जोड़ी उत्पन्न करना

प्रमाणीकरण के लिए SSH का उपयोग करने की दिशा में SSH कुंजी जोड़ी बनाने की प्रक्रिया पहला कदम है।

  1. अपना टर्मिनल या कमांड प्रॉम्प्ट खोलें।
  2. एक नया SSH कुंजी युग्म उत्पन्न करने के लिए निम्न आदेश निष्पादित करें:
     एसएसएच-कीजेन-टी आरएसए-बी 4096-सी "[email protected]"
  3. कुंजी जोड़ी को सहेजने के लिए आपको फ़ाइल स्थान दर्ज करने के लिए कहा जाएगा। प्रेस प्रवेश करना डिफ़ॉल्ट स्थान स्वीकार करने के लिए (~/.ssh/id_rsa) या एक कस्टम स्थान निर्दिष्ट करें।
     > सार्वजनिक/निजी आरएसए कुंजी जोड़ी बनाना।
     > फ़ाइल दर्ज करें मेंकौन कुंजी को बचाने के लिए (/home/vagrant/.ssh/id_rsa):
  4. अगला, आपसे पासफ़्रेज़ दर्ज करने का अनुरोध किया जाएगा। हालांकि वैकल्पिक, पासफ़्रेज़ जोड़ना सुरक्षा के एक अतिरिक्त स्तर के रूप में कार्य करता है। सुनिश्चित करें कि आपको अपना पासफ़्रेज़ याद है।
     > पासफ़्रेज़ दर्ज करें (खाली के लिए कोई पदबंध नहीं): 
     > वही पासफ़्रेज़ फिर से दर्ज करें:
  5. कुंजी युग्म उत्पन्न करने के बाद, आपको निर्दिष्ट स्थान पर दो फ़ाइलें दिखाई देनी चाहिए। id_rsa (निजी कुंजी) और id_rsa.pub (सार्वजनिक कुंजी)।
     > आपकी पहचान सहेज ली गई है में /home/vagrant/.ssh/id_rsa.
     > आपकी सार्वजनिक कुंजी सहेज ली गई है में /home/vagrant/.ssh/id_rsa.pub.
  6. पूरा होने पर, कुंजियाँ फ़िंगरप्रिंट और रैंडमआर्ट छवि प्रदर्शित की जाती हैं।
  7. अंत में, आपको GitHub में जोड़ने के लिए सार्वजनिक कुंजी की सामग्री की आवश्यकता होगी। सामग्री प्राप्त करने के लिए निम्नलिखित कमांड चलाएँ:
     कैट ~/.ssh/id_rsa.pub

कुंजी बनाते समय आपके द्वारा उपयोग किए गए पथ (मेरे मामले में ~/.ssh/id_rsa.pub) को निर्दिष्ट करना सुनिश्चित करें।

सामग्री को बाद में उपयोग के लिए एक सुरक्षित और अस्थायी स्थान पर कॉपी करें।

2. GitHub में सार्वजनिक कुंजी जोड़ना

अब जब आपने एक SSH कुंजी युग्म तैयार कर लिया है, तो आपको अपने GitHub खाते में सार्वजनिक कुंजी जोड़ने की आवश्यकता है।

  1. अपने गिटहब खाते में लॉग इन करें और अपने खाते पर जाएं समायोजन.
  2. पर क्लिक करें एसएसएच और जीपीजी कुंजी बाएं साइडबार पर स्थित है।
  3. पर क्लिक करें नई एसएसएच कुंजी.
  4. अपनी SSH कुंजी दें a शीर्षक.
  5. सार्वजनिक कुंजी सामग्री को इसमें पेस्ट करें चाबी मैदान।
  6. अंत में, पर क्लिक करें एसएसएच कुंजी जोड़ें SSH कुंजी को अपने GitHub खाते में सहेजने के लिए।

आपने इनके साथ सार्वजनिक कुंजी को अपने GitHub खाते में सफलतापूर्वक निर्यात कर लिया है।

3. SSH एजेंट को कॉन्फ़िगर करना

एक एसएसएच एजेंट एक प्रोग्राम है जो एसएसएच कुंजी को प्रबंधित करने में मदद करता है और उन्हें स्टोर करने और उपयोग करने का एक सुरक्षित तरीका प्रदान करता है। यह SSH प्रमाणीकरण के दौरान आपकी स्थानीय मशीन और दूरस्थ सर्वर के बीच मध्यस्थ के रूप में कार्य करता है। यह आपको विभिन्न गिटहब खातों के लिए एकाधिक एसएसएच कुंजी प्रबंधित करने की अनुमति देता है।

  1. सुनिश्चित करें कि SSH एजेंट चल रहा है।
     $ eval"$(एसएसएच-एजेंट-एस)"
     > एजेंट पीआईडी ​​2757
  2. SSH एजेंट में निजी कुंजी जोड़ें।
     $ ssh-add ~/.ssh/id_rsa
     > पासफ़्रेज़ दर्ज करें के लिए /home/vagrant/.ssh/id_rsa:
     > पहचान जोड़ी गई: /home/vagrant/.ssh/id_rsa (/home/vagrant/.ssh/id_rsa)

आपने अपनी कुंजियों को प्रबंधित करने के लिए एक SSH एजेंट को सफलतापूर्वक कॉन्फ़िगर कर लिया है।

4. SSH कनेक्शन का परीक्षण

अब आप यह सत्यापित करने के लिए परीक्षण कर सकते हैं कि आपका SSH कनेक्शन ठीक से सेट है, और आप SSH का उपयोग करके GitHub को प्रमाणित कर सकते हैं।

  • GitHub से SSH कनेक्शन का परीक्षण करने के लिए नीचे दी गई कमांड चलाएँ;
     एसएसएच-टी [email protected]
    यदि सब कुछ ठीक रहा तो आपको फ़िंगरप्रिंट के संबंध में एक चेतावनी दिखाई देगी. फ़िंगरप्रिंट की पुष्टि करें और टाइप करें हाँ जारी रखने के लिए।
     > मेजबान की प्रामाणिकता 'github.com (140.92.130.4)' कर सकनास्थापित न हो।
    > ECDSA कुंजी फिंगरप्रिंट SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM है।
    > क्या आप सुनिश्चित हैं कि आप चाहते हैं जारी रखना कनेक्ट करना (हाँ/नहीं)?
  • टाइप करने पर हाँ, आपको नीचे दिए गए जैसा आउटपुट दिखाई देगा।
     > चेतावनी: स्थायी रूप से जोड़ा गया 'github.com, 140.92.130.4' (ECDSA) ज्ञात मेजबानों की सूची में।
    > हाय प्रिंसविलिंगू! आप'सफलतापूर्वक प्रमाणित किया गया है, लेकिन गिटहब खोल पहुंच प्रदान नहीं करता है।

इससे पता चलता है कि प्रमाणीकरण सफल रहा।

SSH के साथ रिपॉजिटरी का प्रबंधन

SSH को कॉन्फ़िगर करने से आप पासवर्ड और एक्सेस टोकन की परेशानी के बारे में चिंता किए बिना अपने रिपॉजिटरी का प्रबंधन कर सकते हैं।

दूरस्थ URL सेट करना

गिट रिमोट तय करना-यूआरएल मूल [email protected]:/.git

एक रिपॉजिटरी की क्लोनिंग

git क्लोन [email protected]:/.git

रिपॉजिटरी में परिवर्तन को पुश करना

गिट पुश मूल 

रिपॉजिटरी से परिवर्तन खींचना

गिट पुल मूल 

पासवर्ड प्रमाणीकरण पर एसएसएच के लाभ

प्रमाणीकरण के लिए SSH का उपयोग पारंपरिक पासवर्ड-आधारित प्रमाणीकरण विधियों की तुलना में कई उल्लेखनीय लाभ प्रदान करता है। यह भी शामिल है:

  • SSH प्रमाणीकरण पासवर्ड की आवश्यकता को समाप्त करता है, क्रेडेंशियल चोरी के जोखिम को कम करता है।
  • क्रिप्टोग्राफ़िक कुंजियों का उपयोग इसे अधिक प्रतिरक्षित बनाता है क्रूर बल के हमले पासवर्ड की तुलना में।
  • यदि आपकी निजी कुंजी से समझौता किया गया है, तो आप इसे रद्द कर सकते हैं और इसे बदल सकते हैं, जिससे समझौता की गई कुंजी बेकार हो जाएगी।

इस कारण से, पासवर्ड प्रमाणीकरण की तुलना में SSH प्रमाणीकरण एक बेहतर विकल्प है।

सर्वोत्तम अभ्यास और समस्या निवारण

एक सुचारू और सुरक्षित SSH सेटअप सुनिश्चित करने के लिए, सर्वोत्तम प्रथाओं का पालन करना और होने वाली सामान्य समस्याओं और उनके निवारण के तरीकों से अवगत होना आवश्यक है।

  1. सुरक्षा की एक अतिरिक्त परत बनाने के लिए हमेशा पासफ़्रेज़ सेट करें।
  2. बार-बार की रोटेशन और बैकअप का अभ्यास करें।
  3. अनुमति त्रुटियों या गलत SSH एजेंट कॉन्फ़िगरेशन से बचने के लिए प्रत्येक चरण की पुष्टि करें।

इन सर्वोत्तम प्रथाओं का पालन करके आप गिटहब के लिए एसएसएच प्रमाणीकरण का आत्मविश्वास से उपयोग कर सकते हैं।

SSH की बहुमुखी प्रतिभा

सर्वर, माइक्रोकंट्रोलर और नेटवर्क उपकरणों को दूरस्थ रूप से प्रबंधित करने के लिए SSH का बड़े पैमाने पर अन्य क्षेत्रों में उपयोग किया जाता है क्योंकि यह सुरक्षित पहुंच की अनुमति देता है कमांड-लाइन इंटरफेस (सीएलआई) के लिए, उपयोगकर्ताओं को विभिन्न कार्यों को करने, सेटिंग्स को कॉन्फ़िगर करने, फ़ाइलों को स्थानांतरित करने और समस्या निवारण करने में सक्षम बनाता है समस्याएँ।