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 LOGIN@ IDLE JCPU PCPU WHAT root pts/0 27.61.161.61 02:37 1.00s 0.04s 0.01s ssh root@45.58.38.21 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 zusammen mit grep 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: root@pts/0 root 35669 0.0 0.2 13860 8916 ? Ss 02:38 0:00 sshd: root@pts/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: root@pt tcp 0 0 45.58.38.21:22 45.58.38.21:51166 ESTABLISHED 35669/sshd: root@pt
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.