मेरे sshd लॉग कहाँ हैं?


57

मुझे मानक स्थानों में अपने sshd लॉग नहीं मिले।

मैंने क्या कोशिश की है:

  • अंदर नही /var/log/auth.log
  • अंदर नही /var/log/secure
  • क्या सिस्टम खोजा 'auth.log'और कुछ नहीं मिला
  • मैं निर्धारित किया है /etc/ssh/sshd_configस्पष्ट रूप से उपयोग करने के लिए SyslogFacility AUTHऔर LogLevel INFOउन्हें नहीं मिल रहा है और sshd को पुनः आरंभ और अब भी।

मैं आर्क लिनक्स पर ओपनएसएसएच 6.5 पी 1-2 का उपयोग कर रहा हूं।

जवाबों:


51

Systemctl से लॉग देखने के लिए इस कमांड को आज़माएँ:

journalctl -u sshd |tail -100

20
यह काम नहीं लगता है, लेकिन journalctl _COMM=sshdकरता है।
विंगड्यूसम्ब्रेनर

3
आह, हाँ - systemctl हमेशा की तरह पूरी तरह से सुसंगत और अनुमानित है।
g33kz0r

3
आप -fलॉग का पालन करने के लिए विकल्प का उपयोग कर सकते हैं :journalctl -fu sshd
bzeaman

विंगड्यूसमरिनर - मुझे पता है कि लगभग 4 साल हो गए हैं, लेकिन ... क्या आपको याद है कि उस समय आप किस डिस्ट्रो में थे? मुझे संदेह है कि आपके डिस्ट्रो पर यूनिट फ़ाइल को "sshd" के बजाय "ओपनश" या "एसश" कहा जाता था। सिस्टमड प्रोजेक्ट के साथ बात यह है कि वे डिस्ट्रोस को अपने उपयोगकर्ता मानते हैं, और डिस्ट्रोस यूनिट फ़ाइलों के लिए जो भी नाम चाहते हैं उनका उपयोग करने के लिए स्वतंत्र हैं (जैसे कि डेबियन अपाचे के वेबसर्वर apache2कहते हैं जबकि रेडहैट कॉल करता है httpd)।
बोबापुल

25

लॉग के अंतिम भाग को देखने का एक बेहतर तरीका है:

journalctl -u sshd -n 100

tailके उत्पादन पर उपयोग journalctlबहुत धीमा हो सकता है। एक मशीन पर 5 मिनट लगे जहां मैंने इसे आज़माया, जबकि उपरोक्त कमांड तुरन्त लौटता है।


3
और तुम लाइन रंग खोना नहीं है!
kuzyn


7

आपको संदेशों को sshdउपयोग करने से फ़िल्टर करने में सक्षम होना चाहिए :

journalctl -u ssh

या (आपके वितरण के आधार पर)

journalctl -u sshd

जो एक lessशैली प्रारूप में लॉग दिखाएगा (आप खोज सकते हैं /, PgUp, PgDown आदि के माध्यम से नेविगेट कर सकते हैं )।

  • -e आपको लॉग के अंत में लाता है।
  • -uपैरामीटर फ़ील्ड के माध्यम से फ़िल्टर _SYSTEMD_UNITहोता है, जो कम से कम (डेबियन पर) सेट है ssh.service, इस प्रकार sshdमेल नहीं खाएगा।
  • -f वास्तविक समय में लॉग का अनुसरण करता है
  • -n 100दी गई रेखाओं की संख्या प्रदर्शित करता है (साथ उपयोगी -f)

वैकल्पिक रूप से आप मेटा-फ़ील्ड फ़िल्टरिंग का उपयोग कर सकते हैं:

journalctl _COMM=sshd

आप JSON को निर्यात करके सभी मेटा-फ़ील्ड्स के साथ संपूर्ण पत्रिका रिकॉर्ड प्रदर्शित कर सकते हैं:

journalctl -u ssh -o json-pretty

जो आपको कुछ इस तरह देगा:

    ...
    "_PID" : "7373",
    "_COMM" : "sshd",
    "_EXE" : "/usr/sbin/sshd",
    "_SYSTEMD_CGROUP" : "/system.slice/ssh.service",
    "_SYSTEMD_UNIT" : "ssh.service",
    ...

यदि आप आश्चर्य करते हैं कि केवल कर्नेल संदेश कैसे प्रदर्शित करें:

journalctl -k -f

क्या आपके पास इस अजीब वाक्यविन्यास ( journalctl _COMM=sshd) के लिए स्पष्टीकरण है ?
ओरतोमला लोकनी ५'१ Lok को Lok:

@OrtomalaLokni -uमेटाडेटा फ़ील्ड के माध्यम से फ़िल्टर _SYSTEMD_UNITकरता है जो डेबियन सेट पर है ssh.service। अंडरस्कोर के साथ शुरू होने वाले सभी परम मेटाफिल तक पहुंच रहे हैं। इसी तरह से आप _PIDया के माध्यम से फ़िल्टर कर सकते हैं _TRANSPORT
टॉमबार्ट

1

अपने syslog कॉन्फ़िगरेशन पर एक नज़र डालें। सबसे अधिक प्रचंड /etc/syslog.confया /etc/rsyslog.conf आपको authमेरे विन्यास में उदाहरण के लिए लाइनों की तलाश करनी चाहिए :

auth,authpriv.* /var/log/auth.log

*.*;auth,authpriv.none -/var/log/syslog


4
उनमें से कोई भी फाइल मौजूद नहीं है। मेरा मानना ​​है कि उन फ़ाइलों को
syslog-

साइंटिफिक लिनक्स ऑस्ट्रिप्रिव में। * authpriv.* /var/log/secureफ़ाइल के अंदर इंगित करें/etc/rsyslog.conf
सलेम एफ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.