🐙 डेवलपर सुरक्षा प्लेबुक ✓ अनिवार्य अनुपालन

GitHub 2FA सेटअप, SMS फॉलबैक एवं रिकवरी कोड्स पर संपूर्ण गाइड

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

2FA
2FA-Tool सुरक्षा इंजीनियरिंग टीम
अक्टूबर 2026 में अपडेट किया गया
अनुमानित पठन समय: 13 मिनट (2,400+ शब्द)
GitHub 2FA रिकवरी कोड आपूर्ति श्रृंखला
💡 डेवलपर निष्कर्ष (TL;DR)
  • अनिवार्य अनुपालन स्थायी है: जो डेवलपर्स अपनी निर्धारित समय सीमा तक 2FA कॉन्फ़िगर करने में विफल रहते हैं, उन्हें वेब क्रियाएं करने से रोक दिया जाता है और संगठन रिपॉजिटरी से हटा दिया जाता है।
  • रिकवरी कोड आपकी जीवनरक्षक जैकेट हैं: उत्पन्न 16 रिकवरी कोड एकल-उपयोग (single-use) होते हैं। उन्हें तुरंत किसी एन्क्रिप्टेड वॉल्ट या ऑफ़लाइन भौतिक प्रिंटआउट में संग्रहीत करें।
  • Git पासवर्ड अब काम नहीं करते: HTTPS Git पुश इंटरैक्टिव 6-अंकीय कोड स्वीकार नहीं कर सकते। आपको SSH कुंजियाँ (SSH Keys) या स्कोप्ड पर्सनल एक्सेस टोकन (PATs) का उपयोग करना होगा।
  • क्रिप्टोग्राफ़िक अंतिम उपाय: यदि आप अपना फोन और कोड खो देते हैं, तो आप अपनी पूर्व-पंजीकृत स्थानीय SSH निजी कुंजी (private key) का उपयोग करके एक पहचान चुनौती पर हस्ताक्षर करके स्वामित्व साबित कर सकते हैं।
01

GitHub अनिवार्य 2FA नीति का अवलोकन एवं सुरक्षा औचित्य

ऐतिहासिक रूप से, समझौता किए गए डेवलपर क्रेडेंशियल्स ने विनाशकारी सॉफ़्टवेयर आपूर्ति श्रृंखला कमज़ोरियों को जन्म दिया। हाई-प्रोफ़ाइल घटनाएं—जैसे npm और PyPI पर event-stream, ua-parser-js, ctx, और colors.js का अधिग्रहण—ने यह प्रदर्शित किया कि एक चोरी हुआ खाता सैकड़ों-हज़ारों डाउनस्ट्रीम वाणिज्यिक और महत्वपूर्ण बुनियादी ढांचा परियोजनाओं को खतरे में डाल सकता है।

हमलावर वैश्विक क्रेडेंशियल-स्टफ़िंग सूचियों, फ़िशिंग बुनियादी ढांचे और ट्रोजनयुक्त डेवलपर निर्भरताओं का उपयोग करके क्रेडेंशियल एकत्र करते हैं। चूंकि सॉफ़्टवेयर इंजीनियर नियमित रूप से स्रोत कोड और CI/CD परिनियोजन पाइपलाइनों तक रूट या प्रशासनिक पहुंच के साथ काम करते हैं, इसलिए कोड कमिट करने वालों को सुरक्षित करना अंतर्राष्ट्रीय अवसंरचना सुरक्षा का विषय बन गया।

इसके जवाब में, GitHub ने एक बहु-चरणीय सार्वभौमिक अनिवार्यता स्थापित की, जिसमें सभी कोड कमिटर्स, पैकेज प्रकाशकों, एंटरप्राइज़ उपयोगकर्ताओं और संगठन के सदस्यों के लिए टू-फैक्टर प्रमाणीकरण अनिवार्य किया गया:

📌 2FA नामांकन समय सीमा चूकने के परिणाम
  • GitHub वेब इंटरफ़ेस एक कैप्टिव गेट मोडल में प्रवेश करता है, जो 2FA सेटअप पूरा होने तक पुल अनुरोध (PR) समीक्षा, समस्या टिप्पणी, और रिपॉजिटरी प्रशासन पर रोक लगाता है।
  • 2FA लागू करने वाले एंटरप्राइज़ संगठन गैर-अनुपालन सदस्यों को स्वचालित रूप से बाहर निकाल देंगे, जिससे राइट एक्सेस तुरंत समाप्त हो जाएगा और रिपॉजिटरी विशेषाधिकार रद्द हो जाएंगे।
  • स्वचालित वर्कफ़्लो पाइपलाइन, npm पैकेज प्रकाशन कुंजियां, और बारीक रिपॉजिटरी अनुमतियां तब तक फ़्रीज़ रहती हैं जब तक कि खाता सुरक्षा अनुपालन प्रमाणित नहीं हो जाता।
02

चरण-दर-चरण ट्यूटोरियल: TOTP प्रमाणक युग्मन

यद्यपि GitHub SMS, मोबाइल सूचनाओं और हार्डवेयर कुंजियों का समर्थन करता है, RFC 6238 TOTP प्रमाणक ऐप (उदा. Google Authenticator, Bitwarden, 2FA-Tool) विक्रेता स्वतंत्रता और ऑफ़लाइन विश्वसनीयता के लिए स्वर्ण मानक का प्रतिनिधित्व करता है:

1

चरण 1: प्रमाणीकरण सेटिंग्स पर जाएं

GitHub में लॉग इन करें। ऊपरी-दाएं कोने में अपने प्रोफ़ाइल अवतार ➔ Settings पर क्लिक करें। "Access" के अंतर्गत बाएं नेविगेशन साइडबार में, Password and authentication चुनें।

पथ: Settings ➔ Password and authentication ➔ Two-factor methods ➔ Set up authenticator app
2

चरण 2: QR कोड स्कैन करें और कच्चे Base32 सीक्रेट को सुरक्षित रखें

GitHub एक ऑप्टिकल QR कोड के साथ एक टेक्स्ट लिंक प्रस्तुत करता है जिसमें लिखा होता है: "enter this text code instead" (इसके बजाय यह टेक्स्ट कोड दर्ज करें)।

💡 प्रो सुरक्षा टिप: टेक्स्ट लिंक पर क्लिक करें और 32-वर्ण वाले Base32 गुप्त स्ट्रिंग (उदा. A3J5N2O9...) को कॉपी करें। इसे अपने एन्क्रिप्टेड पासवर्ड मैनेजर में स्टोर करें। यदि आपका फोन नष्ट हो जाता है, तो यह अल्फ़ान्यूमेरिक सीड आपको किसी भी डिवाइस पर प्रमाणीकरण टोकन फिर से प्राप्त करने में सक्षम बनाता है।
3

चरण 3: पुष्टि करने के लिए 6-अंकीय कोड दर्ज करें

अपने मोबाइल ऑथेंटिकेटर से कोड स्कैन करें। अपनी स्क्रीन पर प्रदर्शित होने वाला रोलिंग 6-अंकीय नंबर GitHub के सत्यापन इनपुट फ़ील्ड में दर्ज करें और "Continue" पर क्लिक करें।

03

रिकवरी कोड संग्रहण मानक एवं क्रिप्टोग्राफ़िक स्वच्छता

सफल TOTP युग्मन पर, GitHub तुरंत 16 हाइफ़नेटेड हेक्साडेसिमल टोकन (उदा. d4a2b-98f12) के साथ एक मोडल प्रस्तुत करता है। स्थायी बैकअप के बिना इस मोडल को खारिज करना स्थायी डेवलपर खाता लॉकआउट का सबसे आम कारण है।

🚨 रिकवरी कोड की क्रिप्टोग्राफ़िक विशेषताएं

1. केवल एकल-उपयोग (Single-Use Only): TOTP कोड के स्थान पर पहले उपयोग के बाद प्रत्येक रिकवरी कोड अपरिवर्तनीय रूप से अमान्य हो जाता है।
2. मास्टर अधिकार (Master Authority): एक रिकवरी कोड अनुपलब्ध हार्डवेयर को ओवरराइड करता है और तुरंत खाता पहुंच प्रदान करता है।
3. ज़ीरो-नॉलेज सर्वर हैशिंग: GitHub इन कोड्स को अपरिवर्तनीय वन-वे क्रिप्टोग्राफ़िक हैश के रूप में संग्रहीत करता है। GitHub Support इंजीनियर किसी भी परिस्थिति में आपके मूल कोड पुनर्प्राप्त या पढ़ नहीं सकते हैं!

अनुशंसित त्रि-स्तरीय कोल्ड स्टोरेज रणनीति:

🥇 पासवर्ड वॉल्ट अटैचमेंट

github-recovery-codes.txt डाउनलोड करें और इसे Argon2id-व्युत्पन्न मास्टर कुंजियों का उपयोग करके 1Password, Bitwarden, या KeePassXC में अपनी GitHub प्रविष्टि से जोड़ें।

🥈 एयर-गैप्ड हार्डवेयर वॉल्ट

टेक्स्ट फ़ाइल को स्थानीय नेटवर्क और क्लाउड स्टोरेज सिंक्रनाइज़र से डिस्कनेक्ट की गई VeraCrypt-एन्क्रिप्टेड ऑफ़लाइन USB ड्राइव में सहेजें।

🥉 वॉटरप्रूफ भौतिक प्रिंटआउट

एक भौतिक कागज़ी प्रति प्रिंट करें, इसे नमी से बचाने के लिए लैमिनेट करें, और रिमोट जानकारी-चोरों से बचाव के लिए इसे घरेलू लॉकबॉक्स के अंदर सुरक्षित रखें।

क्लिपबोर्ड लीक रोकथाम चेतावनी: अपने 16 रिकवरी कोड कॉपी करते समय क्लिपबोर्ड इतिहास प्रबंधकों (जैसे Alfred, Raycast, या Windows Clipboard History) से सावधान रहें। सादे पाठ क्लिपबोर्ड डेटाबेस में संग्रहीत संवेदनशील पुनर्प्राप्ति कोड कम-विशेषाधिकार वाले मैलवेयर द्वारा निकाले जा सकते हैं। अपने एन्क्रिप्टेड वॉल्ट में अपनी पुनर्प्राप्ति क्रेडेंशियल चिपकाने के तुरंत बाद हमेशा अपने क्लिपबोर्ड बफर को साफ़ करें।
04

फ़ॉलबैक प्रमाणीकरण विधियाँ: SMS बनाम पासकीज़ बनाम GitHub Mobile

GitHub द्वितीयक फ़ॉलबैक तंत्र कॉन्फ़िगर करने की अनुमति देता है। वर्तमान प्रमाणीकरण माध्यमों में हमारे सुरक्षा विश्लेषण की समीक्षा करें:

विधि फ़िशिंग प्रतिरोध SIM-स्वैप भेद्यता मूल्यांकन एवं व्यावहारिक उपयोग का मामला
Passkeys / FIDO2 सुरक्षा कुंजियाँ पूर्ण (WebAuthn मूल बंधन प्रॉक्सी फ़िशिंग को रोकता है) प्रतिरक्षित (Immune) ⭐⭐⭐⭐⭐ शीर्ष अनुशंसा (YubiKey / Touch ID)
TOTP प्रमाणक ऐप मध्यम (वास्तविक समय के रिवर्स प्रॉक्सी के प्रति संवेदनशील) प्रतिरक्षित (Immune) ⭐⭐⭐⭐ सार्वभौमिक आधार रेखा (शून्य कनेक्टिविटी निर्भरता)
GitHub Mobile पुश स्वीकृति मध्यम (2-अंकीय संख्या सत्यापन संकेत की आवश्यकता है) प्रतिरक्षित (Immune) ⭐⭐⭐⭐ उत्कृष्ट दैनिक सुविधा
SMS सत्यापन फ़ॉलबैक शून्य (असुरक्षित SS7 सिग्नलिंग, आसानी से इंटरसेप्ट किया गया) उच्च जोखिम ⭐ हाई-प्रोफ़ाइल मेंटेनर्स के लिए अनुशंसित नहीं
05

टर्मिनल Git वर्कफ़्लो: SSH कुंजियाँ, PATs एवं 2FA इंटरैक्शन

2FA सक्रियण के बाद, डेवलपर्स को नियमित कोड पुश के दौरान अक्सर तत्काल टर्मिनल त्रुटियों का सामना करना पड़ता है:

remote: Support for password authentication was removed on August 13, 2021.
fatal: Authentication failed for 'https://github.com/username/repo.git/'

तकनीकी औचित्य: Git वायर प्रोटोकॉल इंटरैक्टिव 6-अंकीय TOTP संवादों को संभाल नहीं सकता है। नतीजतन, 2FA प्रभावी होने पर GitHub ने HTTPS Git अनुरोधों के लिए सीधे खाता पासवर्ड प्रमाणीकरण को स्थायी रूप से निष्क्रिय कर दिया।

🔑 विकल्प A: SSH कुंजी प्रमाणीकरण (अनुशंसित)

पब्लिक-की क्रिप्टोग्राफी का उपयोग करता है (अनुशंसित: ed25519)। SSH कनेक्शन स्थानीय क्रिप्टोग्राफ़िक निजी कुंजियों के माध्यम से प्रमाणित होते हैं और बार-बार क्रेडेंशियल संकेतों के बिना वेब 2FA को पूरी तरह से बायपास करते हैं।

ssh-keygen -t ed25519 -C "[email protected]"
🎫 विकल्प B: पर्सनल एक्सेस टोकन (PAT)

यदि HTTPS ट्रांसपोर्ट अनिवार्य है, तो स्कोप्ड टोकन जनरेट करने के लिए Settings ➔ Developer settings ➔ Personal access tokens पर जाएं। CLI में पासवर्ड मांगे जाने पर, अपने खाते के पासवर्ड के स्थान पर PAT पेस्ट करें।

SSH कमिट साइनिंग बनाम प्रमाणीकरण: ध्यान दें कि रिपॉजिटरी को क्लोन और पुश करने के लिए SSH कुंजी का उपयोग करना क्रिप्टोग्राफ़िक कमिट साइनिंग से अलग है। आप git config commit.gpgsign true और git config gpg.format ssh के साथ कमिट पर हस्ताक्षर करने के लिए उसी Ed25519 कुंजी युग्म का उपयोग कर सकते हैं, जिससे सख्त 2FA पहुंच नियंत्रण के साथ-साथ GitHub पर सत्यापित लेखक बैज उत्पन्न होते हैं।

06

आपदा रिकवरी: 2FA के बिना लॉक किए गए खाते अनलॉक करना

किसी बड़ी विफलता की स्थिति में जहां आपका 2FA फोन चला गया है और आपका रिकवरी कोड दस्तावेज़ खो गया है, GitHub एक अंतिम क्रिप्टोग्राफ़िक जीवनरक्षक प्रदान करता है: SSH कुंजी हस्ताक्षर चुनौती (The SSH Key Signature Challenge)।

1
खाता लॉकआउट अपील शुरू करें लॉगिन के दौरान 2FA संकेत पर, "Unable to verify via 2FA?" (2FA के माध्यम से सत्यापित करने में असमर्थ?) पर क्लिक करें ➔ "Use emergency recovery code" चुनें ➔ यदि अनुपलब्ध है, तो "Request two-factor authentication reset" पर क्लिक करें।
2
सुरक्षा ईमेल वन-टाइम कोड सत्यापित करें GitHub आपके प्राथमिक सत्यापित ईमेल पते पर 6-अंकीय पुष्टिकरण PIN भेजता है। पहचान सत्यापन पर आगे बढ़ने के लिए कोड दर्ज करें।
3
स्थानीय टर्मिनल SSH कुंजी चुनौती निष्पादित करें GitHub एक अद्वितीय चैलेंज स्ट्रिंग जनरेट करता है और आपको अपने स्थानीय डेवलपर वर्कस्टेशन टर्मिनल का उपयोग करके इस पर हस्ताक्षर करने का निर्देश देता है:
echo "UniqueChallengeString" | ssh-keygen -Y sign -n "github" -f ~/.ssh/id_ed25519
आर्मर्ड सिग्नेचर ब्लॉक को वापस वेब पोर्टल में पेस्ट करें। GitHub गणितीय रूप से सत्यापित करता है कि हस्ताक्षर आपकी पंजीकृत SSH सार्वजनिक कुंजी से मेल खाता है, जिससे निश्चित खाता स्वामित्व स्थापित होता है और समीक्षा अवधि के बाद आपकी प्रोफ़ाइल अनलॉक हो जाती है।
🔒 क्लाइंट-साइड क्रिप्टोग्राफ़िक सैंडबॉक्स

अपने GitHub TOTP सीक्रेट का स्थानीय रूप से परीक्षण करें

सेटअप करने से पहले, 2FA-Tool में अपने कच्चे Base32 गुप्त स्ट्रिंग का परीक्षण करें। शून्य सर्वर ट्रांसमिशन के साथ सभी हैश स्थानीय रूप से ब्राउज़र Web Crypto के माध्यम से परिकलित होते हैं।

ऑनलाइन जनरेटर खोलें