इस टूल के बारे में
एक SSH कुंजी युग्म में एक सार्वजनिक कुंजी होती है जिसे आप सर्वरों पर अपलोड करते हैं (सर्वर के `~/.ssh/authorized_keys` में, या GitHub/GitLab पर डिप्लॉय कुंजी के रूप में) और एक निजी कुंजी जिसे आप अपनी मशीन पर गुप्त रखते हैं। कनेक्ट करते समय, सर्वर आपके क्लाइंट को यह साबित करने की चुनौती देता है कि उसके पास पहले से पंजीकृत सार्वजनिक कुंजी से मेल खाने वाली निजी कुंजी है — बिना निजी कुंजी को कभी प्रसारित किए। Ed25519 आधुनिक डिफ़ॉल्ट है: यह RSA की तुलना में बहुत छोटी कुंजियों (2048+ बिट के बजाय 256 बिट) का उपयोग करता है, फिर भी समान या बेहतर सुरक्षा प्रदान करता है, और इसे जनरेट व सत्यापित करना तेज़ है। पुराने सर्वरों, एम्बेडेड डिवाइस और कुछ एंटरप्राइज़ नीतियों के साथ संगतता के लिए RSA अभी भी यहाँ उपलब्ध है।
इस जनरेटर का हर बाइट आपके ब्राउज़र के अंतर्निहित WebCrypto API के माध्यम से चलता है — वही क्रिप्टोग्राफ़िक इंजन जिसका उपयोग HTTPS, WebAuthn और ब्राउज़र की अन्य सुरक्षा सुविधाएँ करती हैं। यहाँ जो कुछ भी आप जनरेट करते हैं वह किसी भी सर्वर पर नहीं भेजा जाता: कुंजी युग्म, इसकी OpenSSH-प्रारूप सार्वजनिक कुंजी, PEM-एन्कोडेड निजी कुंजी और SHA-256 फ़िंगरप्रिंट — सब कुछ इसी ब्राउज़र टैब में स्थानीय रूप से जनरेट, एन्कोड और प्रदर्शित होता है, और जैसे ही आप दूर जाते हैं या पेज रीलोड करते हैं, गायब हो जाता है (साइट के कुछ अन्य टूल के विपरीत, यह पेज आपकी कुंजियों को `localStorage` में संग्रहीत नहीं करता)। `.pub` फ़ाइल को अपने सर्वर के `authorized_keys` में डाउनलोड करें, निजी कुंजी को `~/.ssh/` में `chmod 600` के साथ डाउनलोड करें, और यह पुष्टि करने के लिए कि ट्रांसफ़र के दौरान कुछ नहीं बदला, फ़िंगरप्रिंट की तुलना `ssh-keygen -lf` के आउटपुट से करें।
अक्सर पूछे जाने वाले प्रश्न
मुझे Ed25519 या RSA में से क्या उपयोग करना चाहिए?
Ed25519 आधुनिक अनुशंसा है: छोटी कुंजियां, तेज़ ऑपरेशन, और समान रूप से मजबूत सुरक्षा, और यह OpenSSH के सभी वर्तमान संस्करणों द्वारा समर्थित है। RSA (4096-बिट) का उपयोग केवल तभी करें जब आपको किसी बहुत पुराने सर्वर से कनेक्ट करना हो जिसमें Ed25519 समर्थन न हो।
सर्वर पर पब्लिक की कैसे इंस्टॉल करूं?
डाउनलोड की गई .pub फ़ाइल की सामग्री को सर्वर पर ~/.ssh/authorized_keys में जोड़ें (या यदि आपने प्राइवेट की भी स्थानीय रूप से सेव की है तो अपने टर्मिनल से `ssh-copy-id` का उपयोग करें), फिर प्राइवेट की फ़ाइल को गुप्त रखें और `ssh -i path/to/key user@host` के साथ संदर्भित करें।