यह ट्यूटोरियल आपको दिखाता है Ubuntu पर CSR कैसे जेनरेट करें, विशेष रूप से SSH के माध्यम से पहुंचे गए Ubuntu-आधारित Apache सर्वर पर। Ubuntu इसके लिए OpenSSL का उपयोग करता है, इसलिए आप एक ही कमांड में दो काम चलाते हैं: एक नई प्राइवेट key और उससे मेल खाने वाला CSR (Certificate Signing Request)। आप विषय विवरण को फ्लैग्स के रूप में पास कर सकते हैं, जो पूरी प्रक्रिया को एक ही, कॉपी-पेस्ट करने योग्य लाइन तक रखता है।
नीचे दिए गए स्टेप्स प्रत्येक समर्थित Ubuntu रिलीज़ (22.04, 24.04, और 26.04 LTS) पर काम करते हैं, क्योंकि हर एक OpenSSL 3.x के साथ आता है। ये पुराने रिलीज़ जैसे 20.04 पर भी काम करते हैं, जिसमें OpenSSL 1.1.1 शामिल था, हालांकि 20.04 अपने स्टैंडर्ड सपोर्ट के अंत तक पहुंच गया है। आधुनिक OpenSSL डिफ़ॉल्ट रूप से रिक्वेस्ट को SHA-256 के साथ साइन करता है, इसलिए आपको डाइजेस्ट फ्लैग जोड़ने की आवश्यकता नहीं है।
स्टेप 1: अपने Ubuntu सर्वर तक पहुंचें
अपने लोकल मशीन (macOS या Linux पर Terminal, Windows पर PowerShell या Windows Terminal) से SSH के माध्यम से सर्वर से कनेक्ट करें। उपयोगकर्ता नाम और होस्ट को अपने स्वयं के साथ बदलें:
ssh your-user@your-ubuntu-server
उस सर्वर पर CSR जेनरेट करें जो सर्टिफिकेट को होस्ट करेगा। प्राइवेट key CSR के बगल में बनाई जाती है और उसी सर्वर पर रहनी चाहिए, इसलिए इन कमांड्स को लोकल रूप से चलाना और फिर key को कहीं और कॉपी करना उद्देश्य को विफल कर देता है।
स्टेप 2: प्राइवेट key और CSR जेनरेट करें
निम्नलिखित कमांड चलाएं। यह एक चरण में 2048-बिट RSA key और CSR बनाता है, विषय और Subject Alternative Names (SANs) को इनलाइन प्रदान किया गया है ताकि OpenSSL सवाल पूछने के लिए न रुके:
openssl req -new -newkey rsa:2048 -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
हर हिस्सा क्या करता है:
- -newkey rsa:2048 एक नई 2048-बिट RSA key जेनरेट करता है। 2048-बिट पब्लिक सर्टिफिकेट्स के लिए वर्तमान न्यूनतम है; आप बड़ी key के लिए rsa:4096 का उपयोग कर सकते हैं, या ECDSA पर स्विच कर सकते हैं (नीचे देखें)।
- -nodes प्राइवेट key को अनएन्क्रिप्टेड छोड़ता है ताकि Apache इसे स्टार्टअप पर पासफ्रेज़ प्रॉम्प्ट के बिना पढ़ सके।
- -keyout और -out प्राइवेट key और CSR फाइलों का नाम रखते हैं।
- -subj सर्टिफिकेट विषय प्रदान करता है। यहां अपना वास्तविक कंपनी नाम, राज्य, और शहर डालें, न कि प्लेसहोल्डर्स। CN (Common Name) आपका प्राथमिक डोमेन है।
- -addext “subjectAltName=…” उन सभी होस्टनेम को सूचीबद्ध करता है जिन्हें सर्टिफिकेट को कवर करना चाहिए। पब्लिक CA SAN लिस्ट के विरुद्ध वैलिडेट करते हैं, इसलिए यहां Common Name को भी शामिल करें।
yourdomain.com को हर जगह अपने वास्तविक डोमेन से बदलें। अतिरिक्त होस्टनेम को कवर करने के लिए, उन्हें कॉमा से अलग करके SAN लिस्ट में जोड़ें, उदाहरण के लिए DNS:api.yourdomain.com। वाइल्डकार्ड के लिए, वाइल्डकार्ड और बेयर डोमेन दोनों को शामिल करें: DNS:*.yourdomain.com,DNS:yourdomain.com।
यदि आप एक ECDSA key पसंद करते हैं (छोटी और तेज़, P-256 व्यापक रूप से समर्थित है), तो इसके बजाय key और CSR इस तरह जेनरेट करें:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout yourdomain.key
-out yourdomain.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com"
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"
स्टेप 3: अपनी फाइलें ढूंढें
यह पुष्टि करने के लिए कि दोनों फाइलें बनाई गई थीं, वर्तमान डायरेक्टरी को सूचीबद्ध करें:
ls
आपको दो नई फाइलें दिखाई देनी चाहिए:
- yourdomain.key: आपकी प्राइवेट key। इसे सर्वर पर रखें, इसे सुरक्षित रूप से बैकअप करें, और कभी भी इसे किसी को न भेजें, Certificate Authority को भी नहीं। जो कोई भी key रखता है, वह आपकी साइट का रूप धारण कर सकता है।
- yourdomain.csr: आपका Certificate Signing Request। यह वह फाइल है जो आप SSL प्रदाता को सबमिट करते हैं।
स्टेप 4: CSR को सत्यापित करें (वैकल्पिक लेकिन अनुशंसित)
इसे सबमिट करने से पहले, जांचें कि CSR में सही विषय और SAN शामिल हैं और इसका सिग्नेचर वैलिड है। यह OpenSSL के साथ रिक्वेस्ट को लोकल रूप से डिकोड करता है:
openssl req -noout -text -verify -in yourdomain.csr
पुष्टि करें कि Subject लाइन आपके विवरण दिखाती है, कि X509v3 Subject Alternative Name उन सभी होस्टनेम को सूचीबद्ध करता है जिनकी आप अपेक्षा करते हैं, और कि सिग्नेचर चेक verify OK प्रिंट करता है। सिग्नेचर एल्गोरिदम को sha256WithRSAEncryption (या ECDSA key के लिए ecdsa-with-SHA256) पढ़ना चाहिए। यदि आप कमांड लाइन का उपयोग नहीं करना चाहते हैं, तो ब्राउज़र में उन्हीं फील्ड्स को पढ़ने के लिए CSR को हमारे ऑनलाइन CSR डिकोडर में पेस्ट करें।
स्टेप 5: अपना CSR सबमिट करें
अपने ऑर्डर के लिए CSR को कॉपी करने के लिए, इसकी सामग्री प्रिंट करें:
cat yourdomain.csr
आपको इस तरह का एक टेक्स्ट ब्लॉक दिखाई देगा:
-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----
पूरे ब्लॉक को कॉपी करें, जिसमें —–BEGIN CERTIFICATE REQUEST—– और —–END CERTIFICATE REQUEST—– लाइनें शामिल हैं (हर मार्कर के दोनों ओर पांच हाइफन होते हैं)। वह पूरा ब्लॉक आपका CSR है। इसे अपनी खरीदारी के दौरान ऑर्डर फॉर्म में पेस्ट करें, और मिलान करने वाली प्राइवेट key को सर्वर पर उसकी जगह पर रखें।
यदि आप कमांड लाइन का उपयोग नहीं करना चाहते हैं, तो आप हमारे ऑनलाइन CSR जेनरेटर के साथ भी रिक्वेस्ट बना सकते हैं। ध्यान दें कि यह आपके ब्राउज़र में प्राइवेट key जेनरेट करता है, इसलिए उस key को स्वयं सेव करें और इसे सर्वर पर स्थानांतरित करें।
आपके CA द्वारा CSR को वैलिडेट करने और सर्टिफिकेट जारी करने के बाद, Ubuntu SSL इंस्टॉलेशन निर्देशों के साथ जारी रखें।
आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!
तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

