SSH एक लोकप्रिय और प्रभावी प्रोटोकॉल है जो आपको अपने स्थानीय मशीन से लॉग इन करने और दूरस्थ होस्ट प्रबंधित करने की अनुमति देता है। यह मार्गदर्शिका आपको विभिन्न आदेशों के बारे में बताती है जिनका उपयोग आप दूरस्थ होस्ट पर सक्रिय SSH कनेक्शन की जांच के लिए कर सकते हैं।
नोट: सिस्टम कॉन्फ़िगरेशन के आधार पर, हम जिन कुछ कमांडों पर चर्चा करने जा रहे हैं उनमें से कुछ के लिए आपको रूट या sudo
की आवश्यकता हो सकती है विशेषाधिकार।
सक्रिय SSH कनेक्शन दिखाने के लिए आप जिस पहली कमांड का उपयोग कर सकते हैं वह है who
आदेश।
who
कमांड का उपयोग यह दिखाने के लिए किया जाता है कि वर्तमान में सिस्टम में कौन लॉग इन है। यह हमें कनेक्टेड उपयोगकर्ताओं और स्रोत आईपी पते देखने की अनुमति देता है।
who
. का उपयोग करने के लिए आदेश, बस दर्ज करें who
बिना किसी पैरामीटर के।
उपरोक्त आउटपुट में, आप एक डेबियन उपयोगकर्ता को tty के माध्यम से और दो SSH सत्रों को एक दूरस्थ IP पते से कनेक्ट होते हुए देख सकते हैं।
आप who
. में पैरामीटर भी जोड़ सकते हैं विस्तृत जानकारी दिखाने के लिए आदेश।
उदाहरण के लिए, कनेक्टेड उपयोगकर्ताओं के लिए अंतिम बूट दिखाने के लिए, -b -u
. जोड़ें झंडा:
who -b -u
who
अनुकूलित परिणाम प्राप्त करने के लिए कमांड अधिक विकल्प प्रदान करता है। अधिक जानने के लिए मैन्युअल पृष्ठ देखें।
2. W कमांड का उपयोग करना
अगली कमांड जिसका उपयोग आप विभिन्न SSH सत्रों और सर्वर से जुड़े उपयोगकर्ताओं की स्थिति दिखाने के लिए कर सकते हैं, वह है w
आज्ञा। who
. के विपरीत कमांड, w
कमांड आपको प्रत्येक उपयोगकर्ता के लिए चल रही प्रक्रियाओं के बारे में अधिक जानकारी देता है।
इसके अतिरिक्त, w
कमांड आपको निष्क्रिय SSH कनेक्शनों के बारे में जानकारी देगा, जो तब बहुत मददगार होता है जब आपको उन्हें समाप्त करने की आवश्यकता होती है।
यदि आप बिना किसी अन्य विकल्प के कमांड चलाते हैं, तो आपको नीचे दिए गए जैसा आउटपुट मिलना चाहिए।
उपरोक्त उदाहरण में, w
कमांड विस्तृत जानकारी देता है, जैसे उपयोगकर्ता नाम, TTY विधि, स्रोत IP पता, लॉगिन का समय, निष्क्रिय समय और बहुत कुछ।
जैसे who
कमांड, आप w
. का भी उपयोग कर सकते हैं विभिन्न मापदंडों के साथ कमांड। नीचे दी गई तालिका विभिन्न पैरामीटर दिखाती है जिनका उपयोग आप w
. के साथ कर सकते हैं आदेश।
पैरामीटर | यह क्या करता है |
---|---|
-h, –no-header | टर्मिनल को हेडर प्रिंट न करने की सूचना देता है |
-u, –no-current | टर्मिनल को उपयोगकर्ता नाम को अनदेखा करने का संकेत देता है क्योंकि यह कनेक्टेड उपयोगकर्ताओं की प्रक्रियाओं और CPU समय को प्रदर्शित करता है |
-s, –शॉर्ट | टर्मिनल को छोटा आउटपुट प्रिंट करने के लिए कहता है - लॉगिन समय, JCPU और PCPU को छोड़कर |
-f, –from | प्रिंट आउटपुट के FROM विकल्प को सक्षम/अक्षम करता है |
–सहायता | विभिन्न w कमांड विकल्प/पैरामीटर प्रदर्शित करता है और बाहर निकलता है |
-v, –संस्करण | संस्करण और निकास के बारे में जानकारी प्रदर्शित करता है |
उपयोगकर्ता | परिणामों को निर्दिष्ट उपयोगकर्ता तक सीमित कर देता है |
नीचे दिया गया उदाहरण w
. दिखाता है -s
. के साथ प्रयोग किया जाने वाला कमांड और -f
FROM भाग को काटकर वर्तमान SSH सत्रों का संक्षिप्त आउटपुट दिखाने के लिए पैरामीटर।
हालांकि शायद ही कभी उपयोग किया जाता है, आप w
. का भी उपयोग कर सकते हैं पर्यावरण और फ़ाइल मापदंडों के साथ कमांड। इन मापदंडों के बारे में अधिक जानने के लिए, मैन पेज पर विचार करें।
3. लास्ट कमांड का उपयोग करना
आप last
. का भी उपयोग कर सकते हैं सभी जुड़े हुए SSH सत्रों को दिखाने के लिए कमांड। अंतिम आदेश अंतिम लॉग-इन उपयोगकर्ताओं की सूची दिखाता है।
यह निर्दिष्ट फ़ाइल की जाँच करके काम करता है। उदाहरण के लिए, "/ var/log/wtmp" उन सभी उपयोगकर्ताओं को दिखाता है जिन्होंने फ़ाइल के निर्माण के बाद से लॉग इन और आउट किया है। कमांड आपको क्लाइंट और सर्वर के बीच बनाए गए SSH सत्रों के बारे में भी जानकारी देता है।
अंतिम कमांड का सामान्य सिंटैक्स है:
last
यहाँ एक उदाहरण है।
चूंकि अंतिम कमांड का आउटपुट बहुत बड़ा है, इसलिए हम grep
. का उपयोग कर सकते हैं केवल सक्रिय सत्र दिखाने के लिए आदेश।
उदाहरण के लिए:
last | grep still
विस्तृत जानकारी दिखाने के लिए आप अंतिम कमांड से आउटपुट को संशोधित भी कर सकते हैं।
उदाहरण के लिए, पूर्ण उपयोगकर्ता नाम और डोमेन दिखाने के लिए, हम -w
. का उपयोग कर सकते हैं झंडा।
last -w
अंतिम आदेश कई विकल्पों का समर्थन करता है। यहां अंतिम कमांड के लिए सबसे अधिक उपयोग किए जाने वाले विकल्प दिए गए हैं।
पैरामीटर | यह क्या करता है |
---|---|
-a, –hostlast | अंतिम कॉलम में होस्टनाम प्रदर्शित करता है |
-d, –dns | लिनक्स सभी रिमोट होस्ट के होस्टनाम और आईपी एड्रेस को स्टोर करता है। यह पैरामीटर आईपी को होस्टनाम में बदल देता है |
-फ़ाइल, -फ़ाइल | /var/log/wtmp | के अलावा किसी अन्य निर्दिष्ट फ़ाइल का उपयोग करने के लिए अंतिम आदेश को सूचित करता है
-F, -पूर्णकालिक | संकेत सभी लॉगिन और लॉगआउट तिथियों और समय को प्रिंट करने के लिए अंतिम हैं |
-i, –ip | -dns के समान, होस्ट का होस्टनाम दिखाने के बजाय, यह IP नंबर दिखाता है |
4. नेटस्टैट कमांड का उपयोग करना
हम netstat
. के बारे में नहीं भूल सकते आज्ञा। नेटस्टैट का उपयोग सभी नेटवर्क कनेक्शन, नेटवर्क इंटरफेस, रूटिंग टेबल और बहुत कुछ दिखाने के लिए किया जाता है।
आप अपने Linux सर्वर पर स्थापित या कनेक्टेड SSH सत्रों को फ़िल्टर करने के लिए netstat कमांड का भी उपयोग कर सकते हैं:
netstat | grep ssh
उपरोक्त आदेश केवल स्थापित SSH कनेक्शन दिखाता है।
सुनने और न सुनने सहित सभी कनेक्शन दिखाने के लिए, हम -a
. का उपयोग कर सकते हैं ध्वज के रूप में:
nestat -a | grep ssh
5. ss कमांड का उपयोग करना
यदि आप जुड़े हुए SSH सत्रों के बारे में अधिक जानकारी जानना चाहते हैं, तो आप ss
. का उपयोग कर सकते हैं कमांड, जो सॉकेट डेटा दिखाता है, इसे netstat
. के समान बनाता है ।
उदाहरण के लिए, हम आउटपुट को ss
. से grep कर सकते हैं -a
. के साथ कमांड विकल्प (सभी) सभी जुड़े हुए SSH सत्र दिखाने के लिए। इसके लिए वाक्य रचना है:
ss -a | grep ssh
उपरोक्त आउटपुट दूरस्थ होस्ट पर सभी SSH कनेक्शन प्रदर्शित करता है। इसमें SSHD डेमॉन शामिल होगा।
स्थापित SSH कनेक्शन के लिए फ़िल्टर करने के लिए, आप आउटपुट को वापस grep पर पाइप कर सकते हैं।
ss -a | grep ssh | grep ESTAB
ऊपर दिए गए आदेश केवल सक्रिय SSH कनेक्शन लौटाएंगे।
ss
कमांड में कई अन्य विकल्प भी हैं जिनका उपयोग आप सक्रिय सर्वर कनेक्शन के बारे में विभिन्न चीजों को जानने के लिए कर सकते हैं। उदाहरण के लिए, आप -e
. का उपयोग कर सकते हैं सॉकेट जानकारी के बारे में अधिक दिखाने के लिए फ़्लैग करें।
रैपिंग अप
अनधिकृत SSH लॉगिन के लिए अपने दूरस्थ होस्ट की निगरानी करना और अपने सर्वर को सुरक्षित करने या पासवर्ड प्रमाणीकरण को अक्षम करने जैसी आवश्यक कार्रवाई करना एक अच्छा अभ्यास है। इस बीच, आप अपने पीसी से बाहरी कनेक्शन की अनुमति देने के लिए रिवर्स एसएसएच टनलिंग का भी उपयोग कर सकते हैं।