Linux के लिए Sshd_Config फ़ाइल पूर्ण मार्गदर्शिका

Linux Ke Li E Sshd Config Fa Ila Purna Margadarsika



SSH या सिक्योर शेल प्रोटोकॉल का उपयोग मशीन में दूरस्थ रूप से लॉग इन करने और रिमोट मशीन पर कमांड चलाने के लिए किया जाता है। एसएसएच प्रोटोकॉल का उपयोग कर स्थानांतरित किए गए डेटा को विशेष एल्गोरिदम के साथ एन्क्रिप्ट किया गया है जो एसएसएच को टेलनेट से अधिक सुरक्षित बनाता है। मूल रूप से, ओपनएसएसएच एक उपकरण है जो इस प्रोटोकॉल को लागू करता है।

हम क्या कवर करेंगे?

इस गाइड में, हम OpenSSH सर्वर कॉन्फ़िगरेशन फ़ाइल के विभिन्न पहलुओं का पता लगाएंगे। चलिए अब शुरू करते हैं।







ओपनएसएसएच कॉन्फ़िगरेशन फ़ाइलें

ओपनएसएसएच क्लाइंट और सर्वर दोनों के लिए कुछ कोर फाइलें हैं। इसकी दो प्रकार की कॉन्फ़िगरेशन फ़ाइलें हैं:



1. क्लाइंट साइड से संबंधित फ़ाइलें: फ़ाइलों में से एक ssh_config. यह एक सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल है। यह फ़ाइल पर स्थित है /etc/ssh/ssh_config.



दूसरी फाइल कॉन्फिग है जो $ HOME/.ssh/config पर स्थित एक उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन फ़ाइल है।





होस्ट पर SSH प्रोग्राम या तो इन फ़ाइलों से या कमांड लाइन इंटरफ़ेस के माध्यम से कॉन्फ़िगरेशन लेता है। पहले बताई गई फ़ाइलों के मामले में, सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल, जो ssh_config है, को उपयोगकर्ता-विशिष्ट 'कॉन्फ़िगरेशन' फ़ाइल पर प्राथमिकता दी जाती है।

2. sshd_config: यह सर्वर साइड से संबंधित है। ओपनएसएसएच सर्वर शुरू होने पर इस फाइल को पढ़ता है।



की खोज sshd विन्यास फाइल

Sshd कॉन्फ़िग फ़ाइल में कई निर्देश होते हैं जिन्हें अनुकूलित भी किया जा सकता है। आइए इस फ़ाइल के डिफ़ॉल्ट लेआउट को देखें:

$ बिल्ली / आदि / एसएसएच / sshd_config


# यह sshd सर्वर सिस्टम-वाइड कॉन्फ़िगरेशन फ़ाइल है। देखना

#sshd_config(5) अधिक जानकारी के लिए।

पत्तन 222
सुनो पता 0.0.0.0
पता सुनें ::
होस्टकी / आदि / एसएसएच / ssh_host_key
सर्वरकीबिट्स 768
लॉगिनग्रेसटाइम 600

की रिजनरेशन इंटरवल 3600
PermitRootLogin हां
Rhosts पर ध्यान न दें हां
सख्त मोड हां
X11 अग्रेषण संख्या

टीसीपी अग्रेषण संख्या की अनुमति दें
अनुमति देंटीटीवाई नं
X11डिस्प्लेऑफसेट 10
PrintMod हां
जिंदा रहो हां
SyslogFacility AUTH

लॉगलेवल जानकारी
Rhosts प्रमाणीकरण संख्या
RhostsRSA प्रमाणीकरण संख्या
आरएसए प्रमाणीकरण हां
पासवर्ड प्रमाणीकरण हां
खाली पासवर्ड की अनुमति दें
चेकमेल नं


'#' से शुरू होने वाली कोई भी पंक्ति टिप्पणी के रूप में ली जाती है। आइए कुछ दिए गए मापदंडों का पता लगाएं:

1. पोर्ट निर्देश एक पोर्ट नंबर निर्दिष्ट करता है। यह वह पोर्ट नंबर है जिस पर sshd कनेक्शन सुनता है। इस पोर्ट के लिए डिफ़ॉल्ट मान 22 है जो मानक है। हालाँकि, हमारे मामले में, हमने इसे 222 में बदल दिया।

साथ ही, हम एक से अधिक पोर्ट निर्देश निर्दिष्ट कर सकते हैं। इस तरह, हम sshd कनेक्शन पर सुनने के लिए कई पोर्ट का उपयोग कर सकते हैं।

2. सुनने के पते में सुनने के लिए आईपी पता होता है। डिफ़ॉल्ट क्रिया सर्वर से जुड़े सभी आईपी पते को सुनना है। यह भी ध्यान दें कि पोर्ट निर्देश को लिसेनएड्रेस निर्देश के बाद सफल होना चाहिए।

3. निजी RSA होस्ट कुंजी फ़ाइल का पूरी तरह से योग्य पथ HostKey निर्देश द्वारा निर्दिष्ट किया गया है। पिछले मामले में, पथ है /etc/ssh/ssh_host_key .

4. PermitRootLogin निर्देश sshd के लिए रूट लॉगिन की अनुमति देता है जब यह हाँ पर सेट होता है। इसे तब तक नहीं पर सेट किया जाना चाहिए जब तक कि sshd एक्सेस को प्रतिबंधित करने के लिए host.allow और host.deny फ़ाइलों का उपयोग नहीं किया जाता है।

5. X11Forwarding निर्देश हाँ पर सेट होने पर X विंडो सिस्टम को अग्रेषित करने की अनुमति देता है।

6. कौन सी सिसलॉग सुविधा है कि sshd उपयोग करना चाहिए SyslogFacility निर्देश का उपयोग करके निर्दिष्ट किया गया है। डिफ़ॉल्ट मान को ऐसे ही रखें।

7. Syslog के लिए लॉगिंग स्तर को LogLevel निर्देश का उपयोग करके निर्दिष्ट किया गया है।

बदल रहा है sshd पत्तन

डिफ़ॉल्ट रूप से, sshd या ओपनएसएसएच सर्वर डेमन टीसीपी प्रोटोकॉल के पोर्ट 22 का उपयोग करता है। परीक्षण वातावरण में इस पोर्ट संख्या को किसी अन्य मान में बदलने की अनुशंसा की जाती है। यह हमें आश्वस्त करता है कि सर्वर कनेक्टिविटी हर समय उपलब्ध है।

साथ ही, किसी नई sshd_config फ़ाइल का उपयोग करने से पहले उसके कॉन्फ़िगरेशन के सिंटैक्स की जाँच करना एक अच्छा अभ्यास है, भले ही वह किस पोर्ट पर चलता हो। सिंटैक्स की जाँच करने के लिए, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:

$ sshd -टी


यह भी ध्यान रखना महत्वपूर्ण है कि केवल रूट उपयोक्ता ही इस फ़ाइल को पढ़ने और लिखने में सक्षम होना चाहिए। इसका अर्थ है कि यदि एक sshd_config विन्यास फाइल उचित रूप से सुरक्षित है, तो पिछले कमांड को चलाने के लिए रूट प्राधिकार की आवश्यकता होती है।

यदि पिछला सिंटैक्स सत्यापन आदेश चलाते समय कोई आउटपुट नहीं दिखाई देता है, तो इसका मतलब है कि फ़ाइल ठीक है।

डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल और पोर्ट को संशोधित करना

कुछ मामलों में, हम का एक नया उदाहरण चलाना चाहते हैं sshd एक अलग बंदरगाह पर। ऐसा इसलिए हो सकता है क्योंकि पोर्ट 22 पहले से ही उपयोग में है या उत्पादन परिवेश में इस पोर्ट को बदलने में कुछ जोखिम वाले क्षेत्र हो सकते हैं। ऐसी स्थितियों में, हम अपने सर्वर के लिए एक वैकल्पिक कॉन्फ़िगरेशन फ़ाइल बना सकते हैं।

आइए sshd_config_new के रूप में एक नई sshd_config फ़ाइल बनाएँ। इस फ़ाइल का उपयोग कुछ अलग सर्वर पैरामीटर के लिए किया जा सकता है। अब, इस फ़ाइल को पोर्ट संख्या 100 पर नई सर्वर कॉन्फ़िगरेशन फ़ाइल के रूप में माना जाने के लिए निर्दिष्ट करें:

$ सुडो / usr / sbin / sshd -एफ / आदि / एसएसएच / sshd_config_new -पी 100


sshd डेमॉन अब पोर्ट 100 पर सुनता है। हम किसी भी पोर्ट वैल्यू का उपयोग कर सकते हैं, लेकिन वह नहीं जो पहले से ही उपयोग में है।

अब, देखते हैं कि हमारा नया बंदरगाह वांछित के रूप में काम कर रहा है या नहीं। इसके लिए हमें एक ssh क्लाइंट प्रोग्राम का उपयोग करना होगा और निम्नलिखित कमांड को रन करना होगा:

$ / usr / बिन / एसएसएच -पी 100 < आईपी सर्वर का >



'-पी' विकल्प रिमोट सर्वर पर उपयोग किए जाने वाले पोर्ट 100 को निर्दिष्ट करता है। यदि हम स्थानीय स्तर पर परीक्षण कर रहे हैं, तो हम सर्वर आईपी का उपयोग लोकलहोस्ट आईपी होने के लिए कर सकते हैं:

$ / usr / बिन / एसएसएच -पी 100 127.0.0.1

समस्या निवारण OpenSSH कॉन्फ़िगरेशन

कभी-कभी, हमारा सर्वर इच्छानुसार काम नहीं कर रहा होता है। ऐसे मामलों में, हम OpenSSH सर्वर कॉन्फ़िगरेशन के समस्या निवारण के लिए '-d' फ़्लैग का उपयोग कर सकते हैं। '-d' ध्वज का उपयोग करते हुए, सर्वर डिबग मोड में प्रवेश करता है और केवल एक कनेक्शन को संभालता है।

डिबग मोड में उत्पन्न होने वाला आउटपुट वर्बोज़ है। डिबगिंग स्तर को बढ़ाने के लिए हम अधिक '-d' झंडे का उपयोग कर सकते हैं। नई कॉन्फ़िगरेशन फ़ाइल का उपयोग करके हमारे सर्वर पर डीबग कमांड चलाएँ:

$ / usr / sbin / sshd -डी -पी 100 -एफ / आदि / एसएसएच / sshd_config_new


पिछले कमांड से आउटपुट syslogd की AUTH सुविधा का उपयोग करने के बजाय stderr में लॉग करता है।

निष्कर्ष

OpenSSH डेमन या sshd कई प्रशासन अवसंरचनाओं का एक महत्वपूर्ण हिस्सा है। इस प्रकार, इसे इष्टतम संचालन के लिए इसे प्रबंधित करने के लिए विशेषज्ञता की आवश्यकता होती है। इस लेख में, हमने OpenSSH सर्वर कॉन्फ़िगरेशन फ़ाइल जैसे sshd_config के बारे में सीखा।