मैं किस प्रकार SSH'es को अपने linux मशीन में ट्रैक कर सकता हूं?


23

मैं Ubuntu 10.04 चला रहा हूं। क्या कोई ऐसा तरीका है जिससे मैं दैनिक रिपोर्ट प्राप्त कर सकता हूं कि किसने बॉक्स पर लॉग इन किया है, क्या समय है, और यहां तक ​​कि - यह बहुत अधिक पूछ सकता है - उन आदेशों की एक रिपोर्ट जो वे उपयोग करते हैं? यह एक कम-उपयोग वाला बॉक्स है और इसलिए मुझे लगता है कि यह देखने का एक अच्छा तरीका होगा कि इस पर क्या गतिविधि हो रही है।

इन्हीं पंक्तियों के साथ, मैंने सुना कि ट्रैक करना संभव नहीं था जब चीजें गैर-संवादात्मक गोले के माध्यम से बॉक्स पर की जाती हैं, जैसे कि rsync या बस दूरस्थ रूप से ssh के माध्यम से एकल कमांड को निष्पादित करना। क्या यह सच है, या फिर इसे लॉग इन करने और ट्रैक करने का कोई तरीका है?

जवाबों:


21

कौन कब लॉग इन करता है इसकी जानकारी /var/log/auth.log(या अन्य डिस्ट्रीब्यूशन पर अन्य लॉग फाइल में उपलब्ध है )। कई लॉग मॉनिटरिंग प्रोग्राम हैं जो आपके द्वारा कॉन्फ़िगर की गई जानकारी को प्रासंगिक के रूप में निकाल सकते हैं। किसी भी सिस्टम पर, प्रत्येक उपयोगकर्ता प्रमाणीकरण लॉग होता है।

हर कमांड इनवोकेशन (लेकिन उनके तर्क नहीं) को लॉग करने के लिए , उबंटू पर पैकेज द्वारा प्रदान की गई प्रक्रिया लेखांकन का उपयोग करें । यदि अकाउंटिंग सबसिस्टम ऊपर और चल रहा है, तो समाप्त प्रक्रियाओं के बारे में जानकारी दिखाता है।acct एक्ट स्थापित करेंlastcomm


3
/var/log/secure.log एक और आम लॉगफ़ाइल है
एड्रियन कोर्निश

9

आप एसएसएच उपयोगकर्ताओं सहित वर्तमान में सिस्टम में लॉग इन करने वाले को भी देख सकते हैं whoया उपयोग कर सकते हैं w


10
lastएक बेहतर विकल्प हो सकता है कि ओपी क्या देख रहा था ...
jasonwryan

1
वास्तव में। "अंतिम" वह कमांड है जो आप चाहते हैं।
सेरेक्स

1
यह एक बेहतर जवाब है तो चयनित है।
पॉल बीबीडी

0

आमतौर पर जब कोई एक उपयोगकर्ता प्रणाली में लॉग इन करता है तो / var / log / संदेशों में यह प्रिंट हो जाता है:

sshd[18468]: Accepted keyboard-interactive/pam for root from 134.64.66.666 port 49867 ssh2

तो बस संदेशों को संक्षिप्त करें:

grep -E "Accepted keyboard-interactive/pam for" /var/log/messages

0

आप कुछ rsylog करने के लिए bash शेल को भी संशोधित कर सकते हैं।

प्रभावी रूप से, आप विशिष्ट कनेक्शन को स्वीकार करने के लिए दूरस्थ होस्ट पर rsyslog सेटअप करते हैं। फिर होस्ट शेल को संशोधित करें जिस पर आप निगरानी करना चाहते हैं - अपने संस्करण को संकलित करके, जिसके साथ निम्नलिखित सक्षम है:

vi config-top.h
#define SYSLOG_HISTORY
#if defined (SYSLOG_HISTORY)
#  define SYSLOG_FACILITY LOG_USER
#  define SYSLOG_LEVEL LOG_INFO
#endif

एक बार इस सक्षम के साथ संकलित करने के बाद, आप इस संस्करण के साथ बैश को प्रतिस्थापित कर सकते हैं या उपयोगकर्ताओं को इसमें लॉग इन करने के लिए इसे पुनः निर्देशित करके लॉग इन किया जा सकता है।

अधिक जानकारी के लिए:

https://www.pacificsimplicity.ca/blog/remote-logging-using-syslog-and-logging-shell-commands-remotely


ठीक। मैं इसे अपडेट कर दूंगा।
17
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.