Wie man aktive SSH-Verbindungen unter Linux findet

Wenn Sie Linux-Systemadministrator und für die Verwaltung von Servern verantwortlich sind, müssen Sie oft wissen, wie viele SSH-Verbindungen auf Ihrem Server aktiv sind und woher die Verbindungen kommen. Es gibt verschiedene Befehle und Werkzeuge in Linux, um die aktiven SSH-Verbindungen auf Ihrem Server zu finden.

In diesem Tutorial zeigen wir, wie Sie aktive SSH-Verbindungen mit verschiedenen Methoden unter Linux finden können.

Voraussetzungen

  • Ein Server mit Linux-Betriebssystem.
  • Sie haben Root-Zugriff auf diesen Server.

Aktive SSH-Verbindung mit who-Befehl finden

who ist das Linux-Befehlszeilen-Dienstprogramm, mit dem eine Liste der Benutzer angezeigt wird, die derzeit auf dem Server angemeldet sind.

Öffnen Sie Ihr Terminal und führen Sie den Befehl who aus, um die aktiven Verbindungen auf Ihrem Server zu finden:

who

Sie sollten die folgende Ausgabe erhalten:

root     pts/0        2020-05-01 02:37 (27.61.161.61)
root     pts/1        2020-05-01 02:39 (45.58.38.21)

Wie Sie sehen können, gibt es zwei aktive SSH-Verbindungen über die IP 27.61.161.61 und 45.58.38.21.

Aktive SSH-Verbindung mit dem Befehl w finden

w ist ein weiteres Befehlszeilen-Dienstprogramm, das die Informationen über den aktuell angemeldeten Benutzer auf Ihrem Server anzeigt. Dieser Befehl liefert mehr Informationen als der who-Befehl, wie aktive Sitzungen und laufende Prozesse auf diesen Sitzungen.

Sie können den Befehl w wie unten gezeigt ausführen:

w

Sie sollten die folgende Ausgabe erhalten:

 02:40:07 up 1 day, 18:35,  2 users,  load average: 0.02, 0.02, 0.00
USER     TTY      FROM             [email protected]   IDLE   JCPU   PCPU WHAT
root     pts/0    27.61.161.61     02:37    1.00s  0.04s  0.01s ssh [email protected]
root     pts/1    45.58.38.21      02:39    1.00s  0.02s  0.00s w

Wie Sie sehen können, zeigt dieser Befehl auch die Leerlaufzeitdetails, Quell-IP, Anmeldezeit, durchschnittliche Auslastung und Prozesse an.

Aktive SSH-Verbindung mit dem Befehl ps finden

Mit dem Befehl ps erhalten Sie auch die Informationen über aktive SSH-Sitzungen auf Ihrem Server. Er liefert Ihnen einige zusätzliche Informationen wie die PID der aktiven SSH-Verbindungen.

Sie können den Befehl ps wie unten gezeigt ausführen

ps auxwww | grep sshd: | grep -v grep

Sie sollten die folgende Ausgabe sehen:

root         609  0.0  0.1  12160  7268 ?        Ss   Apr29   0:01 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups
root       35532  0.0  0.2  13864  8796 ?        Ss   02:37   0:00 sshd: [email protected]/0
root       35669  0.0  0.2  13860  8916 ?        Ss   02:38   0:00 sshd: [email protected]/1

Aktive SSH-Verbindung mit dem Befehl netstat finden

Netstat ist ein Befehlszeilen-Tool, mit dem aktive oder aufgebaute SSH-Verbindungen von den entfernten Hosts zu Ihrem Server angezeigt werden können.

Sie können den Befehl netstat wie unten gezeigt ausführen:

netstat -tnpa | grep 'ESTABLISHED.*sshd'

Sie sollten die folgende Ausgabe sehen:

tcp        0     88 45.58.38.21:22          27.61.161.61:8363       ESTABLISHED 35532/sshd: [email protected] 
tcp        0      0 45.58.38.21:22          45.58.38.21:51166       ESTABLISHED 35669/sshd: [email protected] 

Aktive SSH-Verbindung mit dem letzten Befehl suchen

Der letzte Befehl wird verwendet, um die Liste aller Benutzer anzuzeigen, die seit der Erstellung der Datei /var/log/wtmp an- und abgemeldet wurden. Mit dem letzten Befehl können Sie auch die Informationen über die aktive SSH-Verbindung zwischen Client und Server finden.

Führen Sie den folgenden Befehl aus, um die aktiven SSH-Verbindungen in Ihrem Server zu finden.

last -a | grep -i still

Sie sollten die folgende Ausgabe sehen:

root     pts/1        Fri May  1 02:39   still logged in    45.58.38.21
root     pts/0        Fri May  1 02:37   still logged in    27.61.161.61
reboot   system boot  Wed Apr 29 08:04   still running      5.4.0-26-generic

Aktive SSH-Verbindung mit dem Befehl ss finden

ss ist netstat sehr ähnlich und wird verwendet, um mehr Informationen anzuzeigen als andere Tools. Sie können den Befehl ssh mit grep verwenden, um die aktive SSH-Verbindung in Ihrem Server aufzulisten.

Führen Sie den Befehl ss mit grep wie unten gezeigt aus:

ss | grep -i ssh

Sie sollten die folgende Ausgabe sehen:

tcp   ESTAB  0      0                      45.58.38.21:51166        45.58.38.21:ssh                                                                             
tcp   ESTAB  0      56                     45.58.38.21:ssh         27.61.161.61:8363                                                                            
tcp   ESTAB  0      0                      45.58.38.21:ssh          45.58.38.21:51166                                                                           

Wie Sie sehen können, gibt es zwei aktive Verbindungen von der Client-IP 45.58.38.21 und 27.61.161.61.

Schlussfolgerung

In dem obigen Leitfaden haben wir gelernt, wie man mit verschiedenen Methoden aktive SSH-Verbindungen findet. Sie können nun leicht überwachen, wer auf Ihrem Server angemeldet ist.

Das könnte Dich auch interessieren …