बिना कुछ इंस्टॉल किए SSH या RSA की पेयर बनाएँ
यह जनरेटर आपके ब्राउज़र के Web Crypto API से नई Ed25519, ECDSA (P-256, P-384, P-521) या RSA (2048, 3072, 4096 बिट) की पेयर बनाता है और उसे आपकी ज़रूरत के हिसाब से एक्सपोर्ट करता है: OpenSSH प्राइवेट की और <code>authorized_keys</code> लाइन, ठीक वैसे ही जैसे <code>ssh-keygen</code> बनाता है; OpenSSL, TLS और JWT लाइब्रेरी के लिए PKCS#8 और SPKI PEM फ़ाइलें; पब्लिक JWK; और <code>SHA256:</code> फ़िंगरप्रिंट। कीज़ आपके डिवाइस पर बनती हैं और प्राइवेट की कभी इस पेज से बाहर नहीं जाती।
SSH की पेयर कैसे बनाएँ
- 1की का प्रकार चुनें: SSH के लिए Ed25519 आधुनिक डिफ़ॉल्ट है; पुराने सर्वर और PEM या JWT साइनिंग कीज़ के लिए RSA चुनें।
- 2चाहें तो एक कमेंट लिखें, आमतौर पर
user@host, ताकि बाद मेंauthorized_keysमें की को पहचान सकें। - 3जनरेट करें दबाएँ। प्राइवेट की को
id_ed25519(याid_rsa,id_ecdsa) के रूप में और पब्लिक की को उसी नाम के साथ.pubजोड़कर डाउनलोड करें। - 4दोनों को
~/.ssh/में रखें,chmod 600 ~/.ssh/id_ed25519चलाएँ, और पब्लिक की की लाइन सर्वर की~/.ssh/authorized_keysमें या अपनी Git सेवा की SSH key सेटिंग्स में जोड़ें।
कौन-सा की प्रकार चुनें?
- Ed25519
- छोटी (68 अक्षरों की पब्लिक की), तेज़ और इम्प्लीमेंटेशन की गलतियों से सुरक्षित। OpenSSH 6.5 और नए वर्ज़न, GitHub, GitLab और हर आधुनिक सर्वर पर सपोर्टेड। आज SSH के लिए सबसे अच्छा विकल्प।
- ECDSA (P-256, P-384, P-521)
- NIST कर्व, तब ज़रूरी जब कंप्लायंस नियम इनकी माँग करें या जहाँ Ed25519 स्वीकार न हो, जैसे कुछ हार्डवेयर टोकन और क्लाउड की सेवाएँ।
- RSA
- सबसे ज़्यादा कम्पैटिबल, बहुत पुराने SSH सर्वर और कई TLS व JWT लाइब्रेरी (RS256) सहित। 2030 के बाद भी चलने वाली कीज़ के लिए कम से कम 3072 बिट इस्तेमाल करें; 2048 अब भी स्वीकार्य माना जाने वाला न्यूनतम है।
फ़ॉर्मैट समझें
- OpenSSH प्राइवेट की
- <code>-----BEGIN OPENSSH PRIVATE KEY-----</code>, वह फ़ॉर्मैट जो <code>ssh-keygen</code> डिफ़ॉल्ट रूप से लिखता है। यहाँ यह बिना एन्क्रिप्शन के बनती है; बाद में <code>ssh-keygen -p -f id_ed25519</code> से पासफ़्रेज़ जोड़ें।
- OpenSSH पब्लिक की
- एक लाइन, <code>ssh-ed25519 AAAA… comment</code>, <code>authorized_keys</code>, GitHub, GitLab और क्लाउड कंसोल के लिए।
- PKCS#8 प्राइवेट की (PEM)
- <code>-----BEGIN PRIVATE KEY-----</code>, वह स्टैंडर्ड कंटेनर जिसे OpenSSL, Java, Node.js, Go और ज़्यादातर JWT लाइब्रेरी किसी भी की प्रकार के लिए पढ़ती हैं।
- SPKI पब्लिक की (PEM)
- <code>-----BEGIN PUBLIC KEY-----</code>, X.509 SubjectPublicKeyInfo रूप, जो सिग्नेचर वेरिफ़िकेशन और JWT वेरिफ़िकेशन कॉन्फ़िग में इस्तेमाल होता है।
- JWK
- JSON (RFC 7517) में पब्लिक की, <code>kid</code> फ़िंगरप्रिंट के साथ, JWKS endpoint पर पब्लिश करने के लिए तैयार।
फ़िंगरप्रिंट
फ़िंगरप्रिंट SSH wire फ़ॉर्मैट की पब्लिक की का SHA-256 हैश है, जिसे बिना पैडिंग के Base64 में एनकोड किया जाता है: SHA256:…। यही ssh-keygen -lf id_ed25519.pub प्रिंट करता है, यही GitHub हर की के पास दिखाता है, और यही SSH तब दिखाता है जब वह किसी नए होस्ट पर भरोसा करने को कहता है। फ़िंगरप्रिंट मिलाकर आप पक्का कर सकते हैं कि पब्लिक की की दो कॉपी एक ही की हैं।
क्या ब्राउज़र में कीज़ बनाना सुरक्षित है?
कीज़ crypto.subtle.generateKey से बनती हैं, जो ब्राउज़र की बिल्ट-इन क्रिप्टोग्राफ़ी है और ऑपरेटिंग सिस्टम के सुरक्षित रैंडम नंबर जनरेटर का इस्तेमाल करती है, वही स्रोत जो ssh-keygen इस्तेमाल करता है। नेटवर्क पर कुछ नहीं भेजा जाता: आप यह पेज खोलकर इंटरनेट बंद कर सकते हैं और ऑफ़लाइन कीज़ बना सकते हैं।
प्रोडक्शन सिस्टम की सुरक्षा करने वाली कीज़ के लिए सबसे सुरक्षित तरीका अब भी उन्हें उसी मशीन पर ssh-keygen -t ed25519 से बनाना है जो उनका इस्तेमाल करेगी, या हार्डवेयर की का उपयोग करना है। यह टूल टेस्ट एनवायरनमेंट, CI डिप्लॉय कीज़, JWT साइनिंग कीज़ और बिना OpenSSH वाली मशीनों के लिए बढ़िया है। ऐसी की पर आधारित सर्टिफ़िकेट जाँचने के लिए सर्टिफ़िकेट डिकोडर इस्तेमाल करें।
अक्सर पूछे जाने वाले सवाल
- ऑनलाइन SSH की कैसे बनाएँ?
- Ed25519 चुनें, कमेंट में अपना ईमेल जैसा कुछ लिखें, जनरेट करें दबाएँ और प्राइवेट की (id_ed25519) व पब्लिक की (id_ed25519.pub) डाउनलोड करें। दोनों को ~/.ssh में रखें और .pub की लाइन सर्वर या अपनी Git सेवा में जोड़ें।
- क्या Ed25519, RSA से बेहतर है?
- SSH के लिए हाँ: Ed25519 कीज़ काफ़ी छोटी, इस्तेमाल में तेज़ हैं और RSA-3072 जितनी सुरक्षा देती हैं। RSA सिर्फ़ उन सिस्टम के लिए चुनें जो Ed25519 सपोर्ट नहीं करते।
- मेरे ब्राउज़र में Ed25519 उपलब्ध क्यों नहीं है?
- Ed25519, Web Crypto API में Firefox 129, Safari 17 और Chrome 137 में आया। पुराने ब्राउज़र में उसे अपडेट करें या ECDSA या RSA चुनें।
- क्या मैं प्राइवेट की में पासफ़्रेज़ जोड़ सकता हूँ?
- की बिना पासफ़्रेज़ के बनती है। अपनी मशीन पर ssh-keygen -p -f ~/.ssh/id_ed25519 चलाकर इसे जोड़ें, जो फ़ाइल को उसी जगह एन्क्रिप्ट कर देता है।
- की को PuTTY के .ppk फ़ॉर्मैट में कैसे बदलें?
- PuTTYgen खोलें, Load चुनें, डाउनलोड की हुई OpenSSH प्राइवेट की चुनें और उसे प्राइवेट की के रूप में सेव करें। PuTTYgen, OpenSSH फ़ॉर्मैट सीधे पढ़ लेता है।
- सर्वर पर कौन-सी फ़ाइल जाती है?
- सिर्फ़ पब्लिक की, यानी .pub फ़ाइल की एकमात्र लाइन, जिसे ~/.ssh/authorized_keys में जोड़ा जाता है। प्राइवेट की आपके कंप्यूटर पर रहती है और उसे कभी शेयर नहीं करना चाहिए।
- SSH क्यों कहता है कि मेरी प्राइवेट की की परमिशन बहुत खुली हैं?
- SSH उन प्राइवेट कीज़ को अस्वीकार करता है जिन्हें दूसरे यूज़र पढ़ सकते हैं। प्राइवेट की फ़ाइल पर chmod 600 और ~/.ssh डायरेक्टरी पर chmod 700 चलाएँ।
- क्या कीज़ किसी सर्वर पर भेजी जाती हैं?
- नहीं। इन्हें इसी पेज पर आपके ब्राउज़र का Web Crypto API बनाता है और ये तब तक सिर्फ़ मेमोरी में रहती हैं जब तक आप इन्हें डाउनलोड या कॉपी नहीं करते।