Gdzie są moje dzienniki sshd?


57

Nie mogę znaleźć moich dzienników sshd w standardowych miejscach.

Co próbowałem:

  • Nie w /var/log/auth.log
  • Nie w /var/log/secure
  • Czy system szukał 'auth.log'i nic nie znalazł
  • Ustawiłem /etc/ssh/sshd_configjawnie używać SyslogFacility AUTHi LogLevel INFOponownie uruchomiłem sshd i nadal nie mogę ich znaleźć.

Używam OpenSSH 6.5p1-2 na Arch Linux.

Odpowiedzi:


51

Wypróbuj to polecenie, aby wyświetlić dziennik z systemuctl:

journalctl -u sshd |tail -100

20
To nie wydaje się działać, ale journalctl _COMM=sshddziała.
wingedsubmariner

3
Ach, tak - systemctl jest całkowicie spójny i przewidywalny jak zwykle.
g33kz0r,

3
Możesz użyć -fopcji, aby śledzić dziennik:journalctl -fu sshd
bzeaman

wingedsubmariner - Wiem, że minęły już prawie 4 lata, ale ... pamiętasz, jak się wtedy grałeś? Podejrzewam, że plik jednostkowy twojej dystrybucji nazywał się „openssh” lub po prostu „ssh” zamiast „sshd”. Problemem związanym z projektem systemowym jest to, że uważają dystrybucje za swoich użytkowników, a dystrybucje mogą używać dowolnych nazw plików jednostkowych (takich jak Debian wywołuje serwer apache apache2podczas gdy RedHat to wywołuje httpd).
bobpaul,

25

Lepszym sposobem zobaczenia ostatniej części dziennika jest:

journalctl -u sshd -n 100

Używanie tailna wyjściu journalctlmoże być bardzo wolne. Na komputerze, na którym próbowałem, zajęło to 5 minut, a powyższe polecenie powraca natychmiast.


3
I nie tracisz kolorowania linii! Powinno być najlepsze rozwiązanie imo
kuzyn


7

Powinieneś być w stanie odfiltrować wiadomości sshdza pomocą:

journalctl -u ssh

lub (w zależności od twojej dystrybucji)

journalctl -u sshd

który wyświetla dzienniki w lessformacie stylu (możesz wyszukiwać /, nawigować za pomocą PgUp, PgDown itp.).

  • -e prowadzi do końca dzienników.
  • -uparametr filtruje przez pole meta, _SYSTEMD_UNITktóre jest ustawione (przynajmniej na Debianie) ssh.service, więc sshdnie będzie pasować.
  • -f śledzi logi w czasie rzeczywistym
  • -n 100wyświetla podaną liczbę linii (przydatne z -f)

Alternatywnie możesz użyć filtrowania meta-pól:

journalctl _COMM=sshd

Możesz wyświetlić cały rekord dziennika ze wszystkimi meta-polami, eksportując do JSON:

journalctl -u ssh -o json-pretty

to dałoby ci coś takiego:

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

Jeśli zastanawiasz się, jak wyświetlać tylko komunikaty jądra:

journalctl -k -f

Czy masz wyjaśnienie tej dziwnej składni ( journalctl _COMM=sshd)?
Ortomala Lokni

@OrtomalaLokni -ufiltruje przez pole metadanych _SYSTEMD_UNITustawione w Debianie na ssh.service. Wszystkie parametry zaczynające się od znaku podkreślenia uzyskują dostęp do metaplików. W podobny sposób możesz filtrować przez _PIDlub _TRANSPORT.
Tombart

1

Spójrz na swoją konfigurację syslog. Najprawdopodobniej /etc/syslog.conflub /etc/rsyslog.conf powinieneś poszukać linii z authna przykład w mojej konfiguracji:

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

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


4
Żaden z tych plików nie istnieje. Sądzę, że te pliki są tworzone przez syslog-ng, podczas gdy Arch zastąpił je systemd
HXCaine

W Scientific Linux authpriv. * Wskaż authpriv.* /var/log/securewewnątrz pliku /etc/rsyslog.conf
Salem F
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.