Wenn Sie ein 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. In Linux sind mehrere Befehle und Tools verfügbar, um die aktiven SSH-Verbindungen auf Ihrem Server zu finden.
In diesem Tutorial zeigen wir, wie Sie aktive SSH-Verbindungen mit verschiedenen Methoden in Linux finden.
Voraussetzungen
- Ein Server, auf dem ein Linux-Betriebssystem ausgeführt wird.
- Sie haben Root-Zugriff auf diesen Server.
Aktive SSH-Verbindung mit who-Befehl suchen
who ist das Linux-Befehlszeilendienstprogramm, mit dem eine Liste der Benutzer angezeigt wird, die derzeit beim Server angemeldet sind.
Öffnen Sie Ihr Terminal und führen Sie den Befehl who aus, um die aktiven Verbindungen auf Ihrem Server zu finden:
wer
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 von den IPs 27.61.161.61 und 45.58.38.21.
Aktive SSH-Verbindung mit w-Befehl suchen
w ist ein weiteres Befehlszeilendienstprogramm, das die Informationen über den aktuell angemeldeten Benutzer auf Ihrem Server anzeigt. Dieser Befehl bietet mehr Informationen als der Who-Befehl, wie aktive Sitzungen und laufende Prozesse in diesen Sitzungen.
Sie können den w-Befehl wie unten gezeigt ausführen:
w
Sie sollten die folgende Ausgabe erhalten:
02:40:07 bis 1 Tag, 18:35, 2 Benutzer, Lastdurchschnitt:0,02, 0,02, 0,00 USER TTY FROM [email protected] IDLE JCPU PCPU WHATroot pts/0 27.61.161.61 02:37 1.00s 0.04 s 0,01 s ssh [email protected]root pts/1 45.58.38.21 02:39 1,00 s 0,02 s 0,00 s w
Wie Sie sehen können, zeigt dieser Befehl auch die Leerlaufzeitdetails, die Quell-IP, die Anmeldezeit, den Lastdurchschnitt und die Prozesse an.
Aktive SSH-Verbindung mit ps-Befehl suchen
Der Befehl ps gibt Ihnen auch Informationen über aktive SSH-Sitzungen auf Ihrem Server. Es gibt Ihnen einige zusätzliche Informationen wie 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 29. April 0:01 sshd:/usr/sbin/sshd -D [Listener] 0 von 10-100 startupsroot 35532 0.0 0.2 13864 8796 ? Ss 02:37 0:00 sshd:[email protected]/0root 35669 0.0 0.2 13860 8916 ? Ss 02:38 0:00 sshd:[email protected]/1
Aktive SSH-Verbindung mit netstat-Befehl suchen
Netstat ist ein Befehlszeilentool, das verwendet werden kann, um aktive oder hergestellte SSH-Verbindungen von den Remote-Hosts zu Ihrem Server anzuzeigen.
Sie können den netstat-Befehl 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 HERGESTELLT 35532/sshd:[email-geschützt] TCP 0 0 45.58.38.21:22 45.58.38.21:51166 HERGESTELLT 35669/sshd:[email-geschützt]>Aktive SSH-Verbindung mit letztem Befehl suchen
Der letzte Befehl wird verwendet, um die Liste aller Benutzer anzuzeigen, die seit der Erstellung der Datei /var/log/wtmp angemeldet und abgemeldet wurden. Mit dem letzten Befehl können Sie auch die aktiven SSH-Verbindungsinformationen zwischen Client und Server finden.
Führen Sie den folgenden Befehl aus, um die aktiven SSH-Verbindungen auf Ihrem Server zu finden.
last -a | grep -ich nochSie sollten die folgende Ausgabe sehen:
root pts/1 Fr 1. Mai 02:39 noch eingeloggt 45.58.38.21root pts/0 Fr 1. Mai 02:37 noch eingeloggt 27.61.161.61reboot system boot Mi 29. Apr 08:04 läuft noch 5.4.0- 26-generischAktive SSH-Verbindung mit ss-Befehl finden
ss ist netstat sehr ähnlich und wird verwendet, um mehr Informationen anzuzeigen als andere Tools. Sie können den ssh-Befehl mit grep verwenden, um die aktive SSH-Verbindung auf Ihrem Server aufzulisten.
Führen Sie den ss-Befehl mit grep wie unten gezeigt aus:
ss | grep -i sshSie 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.516.6Wie Sie sehen können, gibt es zwei aktive Verbindungen von der Client-IP 45.58.38.21 und 27.61.161.61.
Schlussfolgerung
In der obigen Anleitung haben wir gelernt, wie man aktive SSH-Verbindungen mit verschiedenen Methoden findet. Sie können jetzt ganz einfach überwachen, wer bei Ihrem Server angemeldet ist.