यह गाइड आपको दिखाती है Proxmox VE पर CSR (सर्टिफिकेट साइनिंग रिक्वेस्ट) कैसे जेनरेट करें। चूंकि Proxmox Virtual Environment Debian पर बना है, आप OpenSSL यूटिलिटी का उपयोग करके SSH के माध्यम से कमांड लाइन से CSR बनाते हैं, जो हर node पर पहले से इंस्टॉल होकर आती है। यह प्रक्रिया Proxmox VE 8.x और नई 9.x सीरीज़ पर समान है।
CSR वह एन्कोडेड रिक्वेस्ट है जिसे आप SSL/TLS सर्टिफिकेट ऑर्डर करते समय एक सर्टिफिकेट अथॉरिटी (CA) को भेजते हैं। इसे जेनरेट करने पर एक मिलती-जुलती प्राइवेट key भी बनती है। यह key Proxmox node पर ही रहती है और CA को कभी नहीं भेजी जाती, इसलिए इसे सुरक्षित रखें: कोई सर्टिफिकेट केवल उस सटीक key के साथ काम करता है जिसके साथ वह जोड़ी गई थी।
मैनुअल CSR बनाम बिल्ट-इन ACME क्लाइंट
Proxmox VE में एक बिल्ट-इन ACME क्लाइंट शामिल है (अकाउंट्स Datacenter > ACME के अंतर्गत होते हैं, और डोमेन प्रति node Node > Certificates के अंतर्गत जोड़े जाते हैं) जो Let’s Encrypt से मुफ्त सर्टिफिकेट रिक्वेस्ट और ऑटो-रिन्यू कर सकता है। यदि आपको केवल Proxmox वेब इंटरफेस और सार्वजनिक रूप से पहुंच योग्य होस्ट नाम को सुरक्षित करना है, तो यह ऑटोमेटेड तरीका सरल विकल्प है और यह अपने आप रिन्यू हो जाता है।
आप फिर भी हाथ से CSR जेनरेट करते हैं जब आप किसी कमर्शियल CA से सर्टिफिकेट खरीद रहे हों, जब आपको ऐसा प्रकार चाहिए जो ACME जारी नहीं करता (उदाहरण के लिए, Organization Validation, Extended Validation, या wildcard सर्टिफिकेट), या जब कोई आंतरिक पॉलिसी आपको key और रिक्वेस्ट को स्वयं नियंत्रित करने की आवश्यकता रखती हो। इस ट्यूटोरियल का बाकी हिस्सा उस मैनुअल फ्लो को कवर करता है।
चरण 1: CSR और प्राइवेट key बनाएं
अपने Proxmox node से SSH के माध्यम से कनेक्ट करें (या Proxmox वेब इंटरफेस में Shell कंसोल खोलें)। OpenSSL पहले से इंस्टॉल है। यदि किसी कारण से यह गायब है, तो पहले इसे इंस्टॉल करें:
sudo apt-get update && sudo apt-get install openssl
प्रॉम्प्ट पर, CSR और उसकी प्राइवेट key को एक ही चरण में जेनरेट करने के लिए निम्नलिखित कमांड चलाएं:
openssl req -new -newkey rsa:2048 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
mywebsite को एक ऐसे नाम से बदलें जो आपके डोमेन की पहचान करता हो, ताकि फ़ाइलों को बाद में पहचानना आसान हो। यहां बताया गया है कि कमांड का हर हिस्सा क्या करता है:
- req -new एक नई सर्टिफिकेट रिक्वेस्ट बनाता है।
- -newkey rsa:2048 एक नई 2048-बिट RSA प्राइवेट key जेनरेट करता है। RSA 2048 सार्वजनिक सर्टिफिकेट्स के लिए वर्तमान न्यूनतम है; आप एक बड़ी key के लिए rsa:4096 का उपयोग कर सकते हैं, या आधुनिक elliptic-curve key पर स्विच कर सकते हैं (नीचे FAQ देखें)।
- -nodes प्राइवेट key को अनएन्क्रिप्टेड छोड़ देता है ताकि Proxmox सेवा स्टार्टअप पर पासफ्रेज़ के लिए पूछे बिना इसे पढ़ सके।
- -keyout mywebsite.key प्राइवेट key को लिखता है। इस फाइल को node पर रखें और कभी भी साझा न करें।
- -out mywebsite.csr उस CSR को लिखता है जिसे आप CA को सबमिट करेंगे।
आधुनिक OpenSSL डिफ़ॉल्ट रूप से रिक्वेस्ट को SHA-256 के साथ साइन करता है, जो हर पब्लिक CA की आवश्यकता है। पुराना डाइजेस्ट फ्लैग जोड़ने की कोई आवश्यकता नहीं है।
चरण 2: अपने डोमेन और कंपनी के बारे में आवश्यक जानकारी प्रदान करें
OpenSSL फिर आपसे उन विवरणों के लिए पूछता है जो सर्टिफिकेट के Distinguished Name को बनाते हैं। हर एक का उत्तर दें:
- Country Name: आपके देश का आधिकारिक दो-अक्षर वाला कोड, उदाहरण के लिए US।
- State or Province: उस राज्य या प्रांत का पूरा नाम जहां आपकी कंपनी रजिस्टर्ड है, उदाहरण के लिए Alabama।
- City or Locality: उस शहर का पूरा नाम जहां आपकी कंपनी स्थित है, उदाहरण के लिए Mobile।
- Organization Name: आपकी कंपनी का पूरा कानूनी नाम, उदाहरण के लिए Your Company LLC। Domain Validation (DV) सर्टिफिकेट के लिए, इसे खाली छोड़ सकते हैं।
- Organizational Unit Name: इसे खाली छोड़ें। यह पब्लिक SSL/TLS सर्टिफिकेट्स के लिए deprecated है और CA इसे हटा देते हैं।
- Common Name: वह फुली क्वालिफाइड डोमेन नाम (FQDN) जिसे आप सुरक्षित करना चाहते हैं, उदाहरण के लिए proxmox.yoursite.com। Wildcard सर्टिफिकेट के लिए, डोमेन के आगे एक asterisk डालें, उदाहरण के लिए *.yoursite.com।
- Email Address: एक वैध ईमेल एड्रेस (अधिकांश CA के लिए वैकल्पिक)।
- A challenge password: इसे खाली छोड़ें। यह एक लीगेसी फील्ड है जिसे पब्लिक CA इग्नोर करते हैं।
- An optional company name: इसे खाली छोड़ें।
OpenSSL अब CSR और प्राइवेट key को उस डायरेक्टरी में लिखता है जहां से आपने कमांड चलाया था। यह पुष्टि करने के लिए फाइलों की लिस्ट देखें कि वे बनाई गई हैं:
ls
आपको mywebsite.key और mywebsite.csr (या जो भी नाम आपने चुना है) दिखना चाहिए।
चरण 3: सबमिट करने से पहले CSR को वेरिफाई करें
CA को रिक्वेस्ट भेजने से पहले, जांचें कि विवरण सही हैं और सिग्नेचर वैध है। Common Name में टाइपो का मतलब है पुनः जारी करना, इसलिए यह 10-सेकंड की जांच करने लायक है:
openssl req -noout -text -verify -in mywebsite.csr
पुष्टि करें कि Subject लाइन सही Common Name और organization विवरण दिखाती है, कि पब्लिक key वह साइज़ है जिसकी आप अपेक्षा करते हैं, और कि OpenSSL सेल्फ-सिग्नेचर को वेरिफाइड के रूप में रिपोर्ट करता है। यदि आप ब्राउज़र में रिक्वेस्ट को रिव्यू करना चाहते हैं, तो इसे हमारे CSR डिकोडर में पेस्ट करें, जो ऑनलाइन वही डिकोडेड फील्ड्स दिखाता है।
चरण 4: CSR को अपने सर्टिफिकेट अथॉरिटी को सबमिट करें
CSR फाइल को किसी भी टेक्स्ट एडिटर में खोलें:
cat mywebsite.csr
SSL ऑर्डर प्रक्रिया के दौरान, फाइल की पूरी सामग्री कॉपी करें, जिसमें —–BEGIN CERTIFICATE REQUEST—– और —–END CERTIFICATE REQUEST—– लाइनें शामिल हैं, और इसे अपने SSL विक्रेता की वेबसाइट पर CSR बॉक्स में पेस्ट करें। किसी भी मार्कर लाइन को छोड़ने पर, या हर तरफ के पांच हाइफ़न में से किसी को भी, CA रिक्वेस्ट को रिजेक्ट कर देगा।
CA द्वारा CSR को वेरिफाई करने और आपका सर्टिफिकेट जारी करने के बाद, इसे node पर इंस्टॉल करने के लिए हमारे Proxmox SSL इंस्टॉलेशन निर्देश फॉलो करें। आप जारी किए गए सर्टिफिकेट को mywebsite.key फाइल के साथ जोड़ेंगे जो सर्वर पर रही थी।
अक्सर पूछे जाने वाले प्रश्न
प्राइवेट key उस डायरेक्टरी में लिखी जाती है जहां से आपने OpenSSL कमांड चलाया था, उस फाइल नाम के तहत जो आपने -keyout को दिया था (उदाहरण के लिए mywebsite.key)। यह node को कभी नहीं छोड़ती और CA को कभी नहीं भेजी जाती। इसे सुरक्षित रखें और इसका बैकअप लें, क्योंकि जारी किया गया सर्टिफिकेट केवल इस सटीक key के साथ काम करता है।
हां। Elliptic-curve (ECDSA) keys समान सुरक्षा स्तर पर RSA की तुलना में छोटी और तेज़ होती हैं और सभी प्रमुख CA द्वारा समर्थित हैं। key और CSR को एक कमांड में जेनरेट करें:openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout mywebsite.key -out mywebsite.csr -addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
prime256v1 curve (जिसे P-256 भी कहा जाता है) एक सुरक्षित डिफ़ॉल्ट है। बाकी प्रक्रिया, जिसमें चरण 2 के प्रॉम्प्ट्स शामिल हैं, समान है।
नहीं। सार्वजनिक रूप से पहुंच योग्य होस्ट नाम पर मुफ्त Let’s Encrypt सर्टिफिकेट के लिए, Datacenter > ACME के अंतर्गत बिल्ट-इन ACME क्लाइंट रिक्वेस्ट को हैंडल करता है और इसे स्वचालित रूप से रिन्यू करता है, बिना किसी मैनुअल CSR के। जब आप किसी कमर्शियल CA से खरीद रहे हों, या जब आपको OV, EV, या wildcard सर्टिफिकेट की आवश्यकता हो जो डिफ़ॉल्ट ACME सेटअप जारी नहीं करता, तो हाथ से CSR जेनरेट करें।
डिकोडेड फील्ड्स (Subject, key साइज़, और कोई भी Subject Alternative Names) को सीधे node पर प्रिंट करने के लिए openssl req -noout -text -in mywebsite.csr चलाएं। रिक्वेस्ट सबमिट करने से पहले यह भी पुष्टि करने के लिए -verify फ्लैग जोड़ें कि सेल्फ-सिग्नेचर वैध है।
आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!
तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10


