SSH to popularny i wydajny protokół, który umożliwia logowanie się i zarządzanie zdalnymi hostami z komputera lokalnego. W tym przewodniku przedstawiono różne polecenia, których można użyć do weryfikacji aktywnych połączeń SSH na zdalnym hoście.
Notatka: W zależności od konfiguracji systemu, niektóre z poleceń, które omówimy, mogą wymagać abyś był rootem lub sudo
przywileje.
1. Korzystanie z polecenia OMS
Pierwszym poleceniem, którego możesz użyć do wyświetlenia aktywnych połączeń SSH, jest who
Wysyłam.
ten who
Polecenie służy do pokazania, kto jest aktualnie podłączony do systemu. Pozwala nam zobaczyć podłączonych użytkowników i źródłowe adresy IP.
Użyj who
polecenie, po prostu wpisz who
bez żadnych parametrów.

W powyższym wyniku możesz zobaczyć użytkownika Debiana połączonego przez tty i dwie sesje SSH ze zdalnego adresu IP.
Możesz także dodać parametry do who
polecenie, aby wyświetlić szczegółowe informacje.
Na przykład, aby wyświetlić ostatnie uruchomienie dla zalogowanych użytkowników, dodaj -b -u
flaga:

ten who
Polecenie oferuje więcej opcji dla wyników niestandardowych. Zobacz stronę man, aby uzyskać więcej informacji.
2. Za pomocą polecenia W
Następne polecenie, którego możesz użyć do wyświetlenia stanu różnych sesji SSH i użytkowników podłączonych do serwera, to w
Wysyłam. w odróżnieniu who
polecenie, w
Polecenie daje więcej informacji o uruchomionych procesach dla każdego użytkownika.
Ponadto w
Polecenie poda informacje o bezczynnych połączeniach SSH, co jest bardzo przydatne, gdy trzeba je zakończyć.
Jeśli uruchomisz polecenie bez żadnych innych opcji, powinieneś otrzymać dane wyjściowe podobne do pokazanego poniżej.

W powyższym przykładzie w
Polecenie dostarcza szczegółowych informacji, takich jak nazwa użytkownika, metoda TTY, źródłowy adres IP, czas logowania, czas bezczynności i inne.
Jako who
polecenie, możesz również użyć w
polecenie z wieloma parametrami. Poniższa tabela przedstawia różne parametry, których można używać z w
Wysyłam.
Parametr | Co robi |
---|---|
-h, –bez nagłówka | Poinformuj terminal, aby nie drukował nagłówka |
-u, -nie-bieżąca | Prosi terminal, aby zignorował nazwę użytkownika, ponieważ pokazuje procesy zalogowanych użytkowników i czas procesora |
-s, –krótki | Nakazuje terminalowi wydrukowanie skróconych danych wyjściowych, z wyłączeniem czasu logowania, JCPU i PCPU |
-f, –de | Włącza / wyłącza opcję OD wyjścia wydruku |
-Wsparcie | Wyświetla różne opcje/parametry polecenia w i wychodzi exit |
-v, –wersja | Wyświetla informacje o wersji i wychodzi |
Nazwa użytkownika | Ogranicza wyniki do określonego użytkownika |
Poniższy przykład pokazuje w
polecenie używane z -s
Tak -f
parametry do wyświetlania skróconych danych wyjściowych bieżących sesji SSH z obciętą częścią FROM.

Chociaż jest używany rzadko, możesz również użyć w
polecenie z parametrami środowiskowymi i plikowymi. Aby uzyskać więcej informacji na temat tych parametrów, rozważ strony podręcznika.
3. Korzystanie z ostatniego polecenia
Możesz także użyć last
polecenie, aby wyświetlić wszystkie połączone sesje SSH. Ostatnie polecenie wyświetla listę ostatnio zalogowanych użytkowników.
Działa poprzez sprawdzenie wyznaczonego pliku. Na przykład „/ var / log / wtmp” pokazuje wszystkich użytkowników, którzy zalogowali się i wylogowali od czasu utworzenia pliku. Polecenie podaje również informacje o sesjach SSH utworzonych między klientem a serwerem.
Ogólna składnia ostatniego polecenia to:
Oto przykład.

Ponieważ wynik ostatniego polecenia jest ogromny, możemy użyć grep
polecenie, aby pokazać tylko aktywne sesje.
Na przykład:

Możesz także zmodyfikować dane wyjściowe ostatniego polecenia, aby wyświetlić szczegółowe informacje.
Na przykład, aby wyświetlić pełne nazwy użytkowników i domeny, możemy użyć -w
flaga.
Ostatnie polecenie obsługuje wiele opcji. Są to najczęściej używane opcje ostatniego polecenia.
Parametr | Co robi |
---|---|
-a, -hostlast | Pokaż nazwę hosta w ostatniej kolumnie. |
-d, –dns | Linux przechowuje nazwę hosta i adres IP wszystkich zdalnych hostów. Ten parametr konwertuje adres IP na nazwę hosta |
-plik, -plik | Poinformuj ostatnie polecenie, aby użyć wyznaczonego pliku innego niż / var / log / wtmp |
-F, –pełny etat | Ostatnia wiadomość, aby wydrukować wszystkie daty i godziny logowania i wylogowania |
-i, –ip | Podobnie jak –dns, z tą różnicą, że zamiast nazwy hosta pokazuje numer IP |
4. Korzystanie z polecenia netstat
Nie możemy o tym zapomnieć netstat
Wysyłam. Netstat służy do wyświetlania wszystkich połączeń sieciowych, interfejsów sieciowych, tabel routingu i nie tylko.
Możesz także użyć polecenia netstat do filtrowania nawiązanych lub połączonych sesji SSH na serwerze z systemem Linux:

Powyższe polecenie pokazuje tylko ustanowione połączenia SSH.
Aby pokazać wszystkie połączenia, w tym słuchanie i nie słuchanie, możemy użyć -a
Oznacz jako:

5. Korzystanie z polecenia ss
Jeśli chcesz dowiedzieć się więcej o połączonych sesjach SSH, możesz skorzystać z ss
polecenie, które wyświetla dane gniazda, czyniąc je podobnym do netstat
.
Na przykład możemy grepować wyjście ss
polecenie z -a
(wszystkie) opcja, aby wyświetlić wszystkie połączone sesje SSH. Składnia tego jest następująca:

Powyższe dane wyjściowe pokazują wszystkie połączenia SSH na zdalnym hoście. Obejmuje to demona SSHD.
Aby odfiltrować ustanowione połączenia SSH, możesz potoku wyjście do grep.
ss -a | grep ssh | grep ESTAB

Powyższe polecenia zwrócą tylko aktywne połączenia SSH.
ten ss
Polecenie ma również mnóstwo innych opcji, których możesz użyć, aby dowiedzieć się różnych rzeczy o aktywnych połączeniach z serwerem. Na przykład możesz użyć -e
flaga, aby wyświetlić więcej informacji o gnieździe.
Kończący się
Dobrą praktyką jest dalsze monitorowanie zdalnych hostów pod kątem nieautoryzowanych logowań SSH i podejmowanie niezbędnych środków, takich jak ochrona serwera lub wyłączenie uwierzytelniania hasła. W międzyczasie możesz również użyć odwrotnego tunelu SSH, aby umożliwić zewnętrzne połączenie z komputerem.
.
Czy ten artykuł jest przydatny?