SSH Key Suite

SSH कुंजी प्रमाणीकरण पासवर्ड की जगह गणितीय रूप से जुड़ी कुंजियों की एक जोड़ी देता है: एक निजी कुंजी जो आपकी मशीन को कभी नहीं छोड़ती, और एक सार्वजनिक कुंजी जिसे आप हर उस सर्वर पर लगाते हैं जिसमें आप लॉग इन करते हैं। सर्वर आपकी मशीन से यह साबित करने की चुनौती देता है कि उसके पास निजी कुंजी है, और यह प्रमाण बिना रहस्य के नेटवर्क पार किए काम करता है। यह पृष्ठ OpenSSH प्रारूप में Ed25519, ECDSA और RSA कुंजियाँ बनाता है, आपकी authorized_keys और known_hosts फ़ाइलों में कमज़ोर, दोहरी और पुरानी कुंजियों का ऑडिट करता है, और PEM, OpenSSH और JWK प्रारूपों के बीच कुंजियाँ बदलता है — सब कुछ आपके ब्राउज़र में, बिना कुछ अपलोड किए। साथी मार्गदर्शिका SSH कुंजियाँ समझाई गईं में बताया गया है कि कुंजी का प्रकार कैसे चुनें और कुंजी लीक होने पर क्या करें। जिन पासवर्डों का आप अब भी उपयोग करते हैं उनके लिए इसे पासवर्ड लीक जाँच के साथ जोड़ें, और बाकी कुंजी सामग्री के लिए प्रमाणपत्र कुंजी मिलानकर्ता और PGP Suite का उपयोग करें।

अंतिम अपडेट:

आपकी निजी कुंजी इस पृष्ठ को कभी नहीं छोड़ती

हर कुंजी आपके ब्राउज़र में बनाई, पढ़ी और बदली जाती है। निजी कुंजी कभी अपलोड नहीं होती, कभी सहेजी नहीं जाती और कभी लॉग नहीं होती, और कभी किसी URL में नहीं आती। इसे एक बार डाउनलोड करें, chmod 600 से सुरक्षित करें, और यदि आपको पासफ़्रेज़ चाहिए तो ssh-keygen -p से जोड़ें। पूरी मार्गदर्शिका SSH कुंजियाँ समझाई गईं में पढ़ें।

नई SSH कुंजी जोड़ी बनाएँ

ईमानदार सीमाएँ

संस्करण 1 अनएन्क्रिप्टेड कुंजियाँ बनाता है: यहाँ कोई पासफ़्रेज़ विकल्प नहीं है, क्योंकि एन्क्रिप्टेड निजी कुंजियों के लिए OpenSSH का bcrypt KDF संस्करण 2 के दायरे में है। डाउनलोड की गई फ़ाइल को chmod 600 से सुरक्षित करें और यदि आपको पासफ़्रेज़ चाहिए तो ssh-keygen -p से जोड़ें।

Ed25519 बनाने के लिए आधुनिक ब्राउज़र चाहिए। यदि आपका ब्राउज़र इसे समर्थन नहीं करता, तो यह पृष्ठ साफ़-साफ़ बता देता है और इसके बजाय ECDSA P-256 देता है — यह कभी Ed25519 कुंजी का नकली रूप नहीं बनाता और चुपचाप डाउनग्रेड नहीं करता।

निजी कुंजी को कभी चैट, टिकट, फ़ोरम पोस्ट या साझा दस्तावेज़ में पेस्ट न करें — यह पूछने के लिए भी नहीं कि यह सुरक्षित है या नहीं। कोई निजी कुंजी अगर इनमें से किसी भी जगह आ गई है, तो उसे लीक मानना चाहिए: उसे बदलें और पुरानी सार्वजनिक कुंजी को हर authorized_keys फ़ाइल से हटा दें।

SSH कुंजी प्रमाणीकरण क्या है — और यह पासवर्ड से बेहतर क्यों है

SSH कुंजी प्रमाणीकरण टाइप किए गए रहस्य की जगह गणितीय प्रमाण देता है। जब आप कुंजी से सर्वर में लॉग इन करते हैं, तो सर्वर आपकी मशीन को एक यादृच्छिक चुनौती भेजता है; आपकी मशीन निजी कुंजी से उस पर हस्ताक्षर करती है, और सर्वर authorized_keys में मौजूद सार्वजनिक कुंजी से हस्ताक्षर की जाँच करता है। निजी कुंजी कभी नेटवर्क पार नहीं करती, इसलिए कीलॉगर के पास चुराने को कुछ नहीं है, फ़िशिंग के पास ठगने को कुछ नहीं है, और अनुमान लगाने को कुछ नहीं है — हमलावर 256-बिट Ed25519 कुंजी को पासवर्ड की तरह ब्रूट-फ़ोर्स से नहीं तोड़ सकता, क्योंकि आज़माने के लिए कोई पासवर्ड ही नहीं है।

दोनों हिस्सों के नियम एक-दूसरे के उलट हैं। सार्वजनिक कुंजी हर जगह कॉपी करने के लिए है: इसे हर सर्वर की authorized_keys में, अपने Git होस्टिंग खाते में, इसे स्वीकार करने वाली हर सेवा में पेस्ट करें। यह दूसरे पक्ष को केवल प्रमाण की जाँच करने देती है, इसलिए इसे प्रकाशित करने की कोई कीमत नहीं है। निजी कुंजी इसके उलट है: जिसके पास यह है, वह हर उस सर्वर पर आपकी तरह लॉग इन कर सकता है जो मिलती-जुलती सार्वजनिक कुंजी पर भरोसा करता है। इसीलिए यह ~/.ssh में रहती है, केवल आप पढ़ सकते हैं, और इसीलिए इसे कभी चैट, टिकट, ईमेल या साझा दस्तावेज़ में पेस्ट नहीं करना चाहिए — जिस क्षण यह इनमें से किसी भी जगह आती है, यह लीक हो गई है, और एकमात्र उपाय इसे हर जगह बदलना है।

कुंजी चुनना, फ़िंगरप्रिंट जाँचना और फ़ाइलें साफ़ रखना

2026 में डिफ़ॉल्ट विकल्प Ed25519 है: 256-बिट कुंजी जो RSA की तुलना में बनाने और हस्ताक्षर करने में तेज़ है, और जिसकी सार्वजनिक कुंजी एक छोटी-सी पंक्ति में समा जाती है। ECDSA P-256 वह विकल्प है जब कोई नीति या पुरानी प्रणाली NIST वक्रों पर अड़ी रहती है, और RSA 3072 या 4096 तभी उत्तर है जब दूसरा पक्ष अंडाकार वक्र बिल्कुल भी उपयोग नहीं कर सकता — RSA 2048 निचली सीमा है, और इससे छोटी किसी भी चीज़ को यह पृष्ठ कमज़ोर चिह्नित करता है। कुंजी के प्रकार से ज़्यादा मायने उसके आसपास की सफ़ाई का है: दुनिया भर से पढ़ी जा सकने वाली फ़ाइल में पड़ी मज़बूत कुंजी, या उस लैपटॉप पर कॉपी की गई कुंजी जो अब आपके पास नहीं है, ठीक से रखी गई मामूली कुंजी से भी बदतर है।

फ़िंगरप्रिंट यह जानने का तरीका है कि आप सही मशीन से बात कर रहे हैं। जब आप पहली बार किसी सर्वर से जुड़ते हैं, तो SSH आपको सर्वर की होस्ट कुंजी का फ़िंगरप्रिंट दिखाता है और उस पर भरोसा करने को कहता है; यह फ़िंगरप्रिंट सर्वर की सार्वजनिक कुंजी का हैश है, और यदि यह आपके व्यवस्थापक द्वारा प्रकाशित मान से मेल खाता है, तो बीच में कोई नहीं बैठा है। इसे सहेज लें, और अगर यह कभी बदलेगा तो SSH ज़ोर से चेतावनी देगा। वही फ़िंगरप्रिंट आपकी अपनी कुंजियों की भी पहचान करते हैं: ssh-keygen -lf हर कुंजी के लिए एक पंक्ति छापता है, और यह पृष्ठ फ़िंगरप्रिंट ठीक उसी प्रारूप में छापता है, ताकि यहाँ दिखने वाले मानों की सर्वर के मानों से अक्षर-दर-अक्षर तुलना की जा सके।

ये फ़ाइलें नियमित ऑडिट की हक़दार हैं, क्योंकि कुंजियाँ जमा होती जाती हैं। authorized_keys की हर पंक्ति सर्वर का एक दरवाज़ा है, और दरवाज़े उस व्यक्ति के जाने के लंबे समय बाद भी खुले रहते हैं जिसे उनकी ज़रूरत थी: किसी ठेकेदार का लैपटॉप, कोई CI जॉब, किसी ऐसी मशीन पर बनाई गई कुंजी जिसे तब से मिटा दिया गया है। फ़ाइल को «जाँचें» टैब में पेस्ट करें और यह पृष्ठ कुंजियों को गिनता है, दोहराव को चिह्नित करता है, कमज़ोर और पुराने प्रकारों को अंकित करता है, और जिन पंक्तियों को वह पढ़ नहीं सका उन्हें चुपचाप हटाने के बजाय सूचीबद्ध करता है। known_hosts के लिए भी यही करें, जहाँ हैश की गई प्रविष्टियाँ होस्टनाम छिपाती हैं — यह पृष्ठ उन्हें हैश किया हुआ बताता है, पढ़ने योग्य होने का दिखावा नहीं करता। हर कुछ महीनों में दस मिनट का ऑडिट सर्वर के मालिक द्वारा किया जाने वाला सबसे सस्ता सुरक्षा कार्य है।

इस सूट को सरल शब्दों में

Ed25519एक आधुनिक अंडाकार-वक्र कुंजी: 256 बिट, तेज़ और छोटी। 2026 में नई कुंजियों के लिए अनुशंसित डिफ़ॉल्ट, जिसे हर आधुनिक SSH सर्वर और क्लाइंट समर्थन करता है।
ECDSA P-256 / P-384NIST P-256 और P-384 वक्रों पर अंडाकार-वक्र कुंजियाँ। जब Ed25519 उपलब्ध न हो तो अच्छा विकल्प, और जहाँ नीति NIST वक्र माँगती है वहाँ मानक विकल्प।
RSA 2048 / 3072 / 4096क्लासिक कुंजी प्रकार। RSA 2048 उपयोग करने लायक न्यूनतम है; 3072 और 4096 धीमे हस्ताक्षर की कीमत पर सुरक्षा मार्जिन देते हैं। 2048 से कम को कमज़ोर चिह्नित किया जाता है।
सार्वजनिक कुंजीवह आधा हिस्सा जिसे आप सर्वरों पर authorized_keys में लगाते हैं। इसे स्वतंत्र रूप से साझा किया जा सकता है — यह केवल प्रमाण की जाँच करने देता है, कभी प्रमाण बनाने नहीं देता।
निजी कुंजीवह आधा हिस्सा जो आपकी मशीन को कभी नहीं छोड़ता। जिसके पास यह है, वह आपकी तरह लॉग इन कर सकता है। इसे chmod 600 और पासफ़्रेज़ से सुरक्षित करें, और इसे कहीं भी पेस्ट न करें।
फ़िंगरप्रिंटसार्वजनिक कुंजी का छोटा हैश, जो SHA256:… या MD5:… के रूप में छपता है। यह वही है जो ssh-keygen -lf छापता है, ताकि आप इसे सर्वर पर दिखाए गए मान से मिला सकें।
authorized_keysसर्वर पर फ़ाइल (~/.ssh/authorized_keys) जिसमें लॉग इन की अनुमति वाली सार्वजनिक कुंजियाँ सूचीबद्ध हैं। हर पंक्ति एक दरवाज़ा है; पुरानी पंक्तियाँ वे दरवाज़े हैं जिन्हें आप बंद करना भूल गए।
known_hostsआपकी मशीन पर फ़ाइल (~/.ssh/known_hosts) जिसमें हर सर्वर की होस्ट कुंजी दर्ज है। यही SSH को यह चेतावनी देने देती है कि सर्वर की कुंजी अचानक बदल गई है।
PEM / JWKदो अन्य कुंजी एन्कोडिंग: PEM वह base64 टेक्स्ट प्रारूप है जिसका उपयोग TLS टूल और OpenSSL करते हैं; JWK वह JSON प्रारूप है जिसका उपयोग वेब API करते हैं। बदलने से कुंजी स्वयं कभी नहीं बदलती।

अक्सर पूछे जाने वाले प्रश्न

मुझे किस प्रकार की कुंजी चुननी चाहिए?

लगभग हर काम के लिए Ed25519 चुनें: यह तेज़, छोटी और 256 बिट पर सुरक्षित है, और हर आधुनिक सर्वर इसे समर्थन करता है। ECDSA P-256 तभी चुनें जब कोई नीति या पुरानी प्रणाली NIST वक्र माँगती हो, और RSA 3072 या 4096 तभी जब दूसरा पक्ष अंडाकार वक्र बिल्कुल भी उपयोग नहीं कर सकता।

क्या बनाई गई निजी कुंजी एन्क्रिप्टेड है?

नहीं। संस्करण 1 बिना पासफ़्रेज़ के ssh-keygen की तरह ही, cipher none वाली अनएन्क्रिप्टेड कुंजियाँ बनाता है। इसे डाउनलोड करें, chmod 600 सेट करें, और यदि आप पासफ़्रेज़ चाहते हैं तो अपनी मशीन पर ssh-keygen -p -f आपकी-कुंजी चलाएँ — इससे OpenSSH की bcrypt सुरक्षा जुड़ जाती है।

मेरे ब्राउज़र में Ed25519 क्यों विफल होता है?

Ed25519 कुंजी बनाने के लिए WebCrypto में Ed25519 समर्थन चाहिए, जो पुराने ब्राउज़रों में नहीं है। यह पृष्ठ इसे पहचानकर आपको बता देता है, कुंजी का नकली रूप बनाने के बजाय। विकल्प के रूप में ECDSA P-256 उपयोग करें, या ब्राउज़र अपडेट करके फिर से प्रयास करें।

क्या मैं अपनी निजी कुंजी यहाँ पेस्ट करके जाँच सकता हूँ?

आप अनएन्क्रिप्टेड OpenSSH निजी कुंजी पेस्ट कर सकते हैं और यह पृष्ठ उसके सार्वजनिक हिस्से को स्थानीय रूप से पढ़ लेगा — लेकिन दो बार सोचें। अधिक सुरक्षित आदत यही है कि केवल सार्वजनिक कुंजियाँ और authorized_keys फ़ाइलें पेस्ट करें। पासफ़्रेज़ से सुरक्षित निजी कुंजी को स्पष्ट त्रुटि के साथ अस्वीकार कर दिया जाता है, कभी पढ़ा नहीं जाता।

कुंजी लीक हो जाए तो मैं क्या करूँ?

एक नई कुंजी जोड़ी बनाएँ, पुरानी सार्वजनिक कुंजी को हर सर्वर और सेवा की authorized_keys से हटा दें, और पुरानी कुंजी जिस तक पहुँच सकती थी उसे तब तक उजागर मानें जब तक आप उसकी जाँच न कर लें। पूरी चेकलिस्ट मार्गदर्शिका «SSH कुंजियाँ समझाई गईं» में है।