SSH ist ein beliebtes und effektives Protokoll, mit dem Sie sich von Ihrem lokalen Computer aus anmelden und Remote-Hosts verwalten können. Diese Anleitung führt Sie durch verschiedene Befehle, mit denen Sie nach aktiven SSH-Verbindungen auf dem Remote-Host suchen können.
Notiz: Abhängig von der Systemkonfiguration erfordern einige der Befehle, die wir besprechen werden, möglicherweise, dass Sie root oder haben sudo
Privilegien.
1. Verwenden des WHO-Befehls
Der erste Befehl, mit dem Sie aktive SSH-Verbindungen anzeigen können, ist der who
Befehl.
Das who
Der Befehl wird verwendet, um anzuzeigen, wer derzeit beim System angemeldet ist. Es ermöglicht uns, die verbundenen Benutzer und die Quell-IP-Adressen anzuzeigen.
Um die zu verwenden who
Befehl einfach eingeben who
ohne Parameter.

In der obigen Ausgabe sehen Sie einen Debian-Benutzer, der über tty verbunden ist, und zwei SSH-Sitzungen von einer entfernten IP-Adresse.
Sie können dem auch Parameter hinzufügen who
Befehl, um detaillierte Informationen anzuzeigen.
Um beispielsweise den letzten Start für verbundene Benutzer anzuzeigen, fügen Sie die hinzu -b -u
Flagge:
who -b -u

Das who
Der Befehl bietet mehr Optionen, um angepasste Ergebnisse zu erhalten. Sehen Sie sich die Handbuchseite an, um mehr zu erfahren.
2. Verwenden des W-Befehls
Der nächste Befehl, mit dem Sie den Status verschiedener SSH-Sitzungen und mit dem Server verbundener Benutzer anzeigen können, ist der w
Befehl. im Gegensatz zu den who
Befehl, der w
Der Befehl gibt Ihnen weitere Informationen über die laufenden Prozesse für jeden Benutzer.
Zusätzlich die w
Der Befehl gibt Ihnen Informationen über inaktive SSH-Verbindungen, was sehr hilfreich ist, wenn Sie sie beenden müssen.
Wenn Sie den Befehl ohne weitere Optionen ausführen, sollten Sie eine Ausgabe ähnlich der folgenden erhalten.

Im obigen Beispiel ist die w
Der Befehl gibt detaillierte Informationen wie Benutzername, TTY-Methode, Quell-IP-Adresse, Anmeldezeit, Leerlaufzeit und mehr.
Wie who
Befehl können Sie auch den verwenden w
Befehl mit verschiedenen Parametern. Die folgende Tabelle zeigt die verschiedenen Parameter, die Sie mit verwenden können w
Befehl.
Parameter | Was es macht |
---|---|
-h, –kein Header | Weist das Terminal an, die Kopfzeile nicht zu drucken |
-u, –kein Strom | Fordert das Terminal auf, den Benutzernamen zu ignorieren, da es die Prozesse und die CPU-Zeit der verbundenen Benutzer anzeigt |
-s, –kurz | Weist das Terminal an, eine verkürzte Ausgabe zu drucken – ohne Anmeldezeit, JCPU und PCPU |
-f, –von | Aktiviert/deaktiviert die FROM-Option der Druckausgabe |
-Hilfe | Zeigt die verschiedenen w-Befehlsoptionen/-parameter und -ausgänge an |
-v, –version | Zeigt Informationen zur Version und zum Beenden an |
Benutzer | Schränkt die Ergebnisse auf den angegebenen Benutzer ein |
Das folgende Beispiel zeigt die w
Befehl, der mit dem verwendet wird -s
und -f
Parameter, um eine gekürzte Ausgabe der aktuellen SSH-Sitzungen mit abgeschnittenem FROM-Teil anzuzeigen.

Obwohl selten verwendet, können Sie auch die verwenden w
Befehl mit Umgebungs- und Dateiparametern. Um mehr über diese Parameter zu erfahren, Betrachten Sie die Manpages.
3. Verwenden des letzten Befehls
Sie können auch die verwenden last
Befehl, um alle verbundenen SSH-Sitzungen anzuzeigen. Der letzte Befehl zeigt die Liste der zuletzt angemeldeten Benutzer.
Es funktioniert, indem es die angegebene Datei überprüft. Beispielsweise zeigt „/var/log/wtmp“ alle Benutzer an, die sich seit der Erstellung der Datei an- und abgemeldet haben. Der Befehl gibt Ihnen auch Informationen über die erstellten SSH-Sitzungen zwischen Client und Server.
Die allgemeine Syntax für den letzten Befehl lautet:
last
Hier ist ein Beispiel.

Da die Ausgabe des letzten Befehls massiv ist, können wir die verwenden grep
Befehl, um nur die aktiven Sitzungen anzuzeigen.
Zum Beispiel:
last | grep still

Sie können auch die Ausgabe des letzten Befehls ändern, um detaillierte Informationen anzuzeigen.
Um beispielsweise die vollständigen Benutzernamen und Domänen anzuzeigen, können wir die verwenden -w
Flagge.
last -w
Der letzte Befehl unterstützt zahlreiche Optionen. Hier sind die am häufigsten verwendeten Optionen für den letzten Befehl.
Parameter | Was es macht |
---|---|
-a, –hostlast | Zeigt den Hostnamen in der letzten Spalte an |
-d, –dns | Linux speichert den Hostnamen und die IP-Adresse aller entfernten Hosts. Dieser Parameter verwandelt die IP in einen Hostnamen |
-Datei, –Datei | Weist den letzten Befehl an, eine andere bestimmte Datei als /var/log/wtmp zu verwenden |
-F, –Vollzeit | Fordert zuletzt auf, alle Anmelde- und Abmeldedaten und -zeiten zu drucken |
-i, -ip | Ähnlich wie –dns, außer dass anstelle des Hostnamens die IP-Nummer angezeigt wird |
4. Verwenden des netstat-Befehls
Wir können die nicht vergessen netstat
Befehl. Netstat wird verwendet, um alle Netzwerkverbindungen, Netzwerkschnittstellen, Routing-Tabellen und mehr anzuzeigen.
Sie können auch den Befehl netstat verwenden, um nach eingerichteten oder verbundenen SSH-Sitzungen auf Ihrem Linux-Server zu filtern:
netstat | grep ssh

Der obige Befehl zeigt nur die hergestellten SSH-Verbindungen.
Um alle Verbindungen anzuzeigen, einschließlich zuhörender und nicht zuhörender Verbindungen, können wir die verwenden -a
kennzeichnen als:
nestat -a | grep ssh

5. Verwenden des ss-Befehls
Wenn Sie weitere Informationen zu den verbundenen SSH-Sitzungen erhalten möchten, können Sie die verwenden ss
Befehl, der Socket-Daten anzeigt, was ihn ähnlich macht netstat
.
Zum Beispiel können wir die Ausgabe von grep abrufen ss
Befehl mit dem -a
Option (alle), um alle verbundenen SSH-Sitzungen anzuzeigen. Die Syntax dafür lautet:
ss -a | grep ssh

Die obige Ausgabe zeigt alle SSH-Verbindungen auf dem Remote-Host an. Dazu gehört der SSHD-Daemon.
Um nach den eingerichteten SSH-Verbindungen zu filtern, können Sie die Ausgabe zurück an grep leiten.
ss -a | grep ssh | grep ESTAB

Die obigen Befehle geben nur die aktiven SSH-Verbindungen zurück.
Das ss
Der Befehl hat auch unzählige andere Optionen, mit denen Sie verschiedene Dinge über aktive Serververbindungen lernen können. Sie können zum Beispiel die verwenden -e
Flag, um mehr über die Socket-Informationen anzuzeigen.
Einpacken
Es empfiehlt sich, Ihre Remote-Hosts weiterhin auf nicht autorisierte SSH-Anmeldungen zu überwachen und die erforderlichen Maßnahmen zu ergreifen, z. B. das Sichern Ihres Servers oder das Deaktivieren der Kennwortauthentifizierung. In der Zwischenzeit können Sie auch Reverse-SSH-Tunneling verwenden, um eine externe Verbindung zu Ihrem PC zu ermöglichen.