Jak mogę usunąć informacje o ostatnim logowaniu ssh?

16

Ilekroć loguję się do serwera za pomocą ssh. Monit podaje mi informacje o „ostatnim logowaniu”. Zastanawiałem się, skąd pochodzą te informacje. Jak mogę usunąć ten rekord, aby gdy ktoś zalogował się na tym samym serwerze, zobaczyłby moje dane logowania z moim ip?

Jak mogę to zrobić? Dla przypomnienia, nie włamuję się na czyjś komputer, a na serwerze działa Ubuntu 12.04.

EDYCJA: który plik rejestruje tego rodzaju informacje? Jeśli znajdę plik, mogę zrobić z nim wszystko jako root.

Dzięki.

Gnijuohz
źródło
Ubuntu 11.04! = Ubuntu 12.04.
CVn
Pamiętaj, że o te informacje można również poprosić, uruchamiając last $USER.
Jaap Eldering
@ MichaelKjörling, co masz na myśli?
Gnijuohz
!=jest powszechnie czytany jako „nie jest równy”. Napisałeś Ubuntu 12.04w tekście pytania, ale użyłeś ubuntu-11.04tagu. Te dwa nie są równoważne, więc jedno lub drugie musi się mylić.
CVn
@ MichaelKjörling przepraszam, nie zauważyłem, że mój tag był nieprawidłowy. Dzięki!
Gnijuohz

Odpowiedzi:

7

W uzupełnieniu do / var / log / lastlog, są 3 pliki /var/runi /var/log: utmp, wtmpi btmp, które posiadają informacje o aktualnych logowań (i dodatkowe informacje), historyczne i nieudanych logowań. Zobacz http://en.wikipedia.org/wiki/Utmp na szczegółowym opisem. Nie można edytować plików za pomocą zwykłych edytorów, ale można je usunąć.

ott--
źródło
2
To nie jest poprawna odpowiedź.
vemv
45

W ubuntu znajduje się w /etc/ssh/sshd_config.

Znajdź linię, która mówi:

PrintLastLog yes

i zmień na

PrintLastLog no (lub dodaj, jeśli nie istnieje)

Cameron Aziz
źródło
3
nie zapomnij, musisz zrestartować ssh za pomocą następującego polecenia: service ssh restart to wszystko trzeba zrobić z rootem / sudo
Cameron Aziz
Dzięki, ale chcę znaleźć więcej plików.
Gnijuohz
o, przepraszam, wygląda na to, że ten nie ma.
Cameron Aziz,
Wierzę, że problem zostanie rozwiązany poprzez usunięcie następujących plików: /var/log/wtmpi /var/log/btmpi ewentualnie /var/log/utmp. Mogą istnieć inne pliki w /var/logktóre mają dane logowania użytkownika (takich jak /var/log/wtmp.1), więc będziesz musiał wycierać te też
Cameron Aziz
Nie ma powodu do przeprosin. Twoja pomoc jest bardzo doceniana ~
Gnijuohz
4

utmp zwykle znajduje się w / var / run, a nie / var / log. wtmp i btmp znajdują się w / var / log.

ssh nie jest jedynym programem, który zapisuje te trzy pliki. Jeśli je usuniesz, jak ktoś sugerował, złamiesz wiele programów. Oczekuje się, że tam będą. Zmień plik / etc / ssh / sshd_config, zgodnie z sugestią Camerona Aziza.

Nie jesteś jedynym procesem w powłoce. Nie używasz systemu operacyjnego jednozadaniowego. Przyzwyczajenie się do pracy na prawdziwym sieciowym systemie operacyjnym było jedną z najtrudniejszych zmian mentalnych, jakie kiedykolwiek dokonałem, przy użyciu komputera mainframe i rachunku uczenia się. W praktyce oznacza to, że nigdy nie należy usuwać pliku, chyba że dokładnie wiesz, co robi w systemie.

Aby dowiedzieć się, jak często używane są niektóre pliki, spójrz na lsof i baw się z nim. Nawet lsof mówi ci tylko, jakie procesy OBECNIE używają twojego pliku, nie podaje danych historycznych, więc bądź ostrożny.

artp
źródło
1

Słowo kluczowe konfiguracji PrintLastLog pobiera informacje z pliku / var / log / lastlog

Możesz użyć polecenia lastlog , aby wyświetlić te informacje w wierszu polecenia.

Don Simon
źródło
1

Oto alternatywa dla GNU i BSD (Mac OS X). To także tłumaczy fakt, że większość ustawień jest domyślnie komentowana - i tak są w El Capitan):

sudo sed -i.bak "s/^#?PrintLastLog yes$/^PrintLastLog no$/" /etc/ssh/sshd_config

Bez -i.bakzmian ciągle otrzymywałem:

sed: 1: "/etc/ssh/sshd_config": bad flag in substitute command: 'h'
RENTBOY
źródło
0

Oto polecenie, aby zrobić to automatycznie:

sudo sed -i "s/PrintLastLog .*/PrintLastLog no/1" /etc/ssh/sshd_config
Andy
źródło