Technologieführer

Aktive SSH-Verbindungen unter Linux finden

4 min read Linux-Administration Aktualisiert 10 Oct 2025
Aktive SSH-Verbindungen unter Linux finden
Aktive SSH-Verbindungen unter Linux finden

Terminalausgabe mit aktiven SSH-Verbindungen und IP-Adressen

Wenn Sie als Linux-Systemadministrator Server verwalten, müssen Sie oft wissen, wie viele SSH-Verbindungen aktuell aktiv sind und von welchen Hosts sie stammen. Es gibt mehrere eingebaute Befehle und Werkzeuge, mit denen Sie aktive SSH-Verbindungen anzeigen und kurz analysieren können.

In diesem Leitfaden zeigen wir verschiedene Methoden, typische Ausgaben, wann eine Methode versagt und welche zusätzlichen Sicherheits- und Monitoring-Schritte sinnvoll sind.

Voraussetzungen

  • Ein Server mit einem Linux-Betriebssystem.
  • Root- oder sudo-Zugriff auf dem Server.

Kurzer Überblick über die Werkzeuge

  • who: Liste eingeloggter Nutzer.
  • w: Erweiterte Informationen zu eingeloggten Nutzern und ihren Prozessen.
  • ps: Prozesse anzeigen, liefert PIDs der sshd-Subprozesse.
  • netstat / ss: Netzwerkverbindungen und Status (ESTABLISHED).
  • last: Historie und aktuell eingeloggte Nutzer aus /var/log/wtmp.
  • Ergänzend: /var/log/auth.log oder journalctl zur Prüfung von Authentifizierungen.

who

who zeigt an, welche Benutzer aktuell eingeloggt sind.

Öffnen Sie das Terminal und führen Sie aus:

who

Beispielausgabe:

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

Erklärung: Die Spalte in Klammern enthält die Quell-IP-Adresse der SSH-Verbindung.

w

w liefert zusätzliche Details wie Idle-Zeiten, laufende Prozesse und System-Load.

w

Beispielausgabe:

 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 [email protected]
root     pts/1    45.58.38.21      02:39    1.00s  0.02s  0.00s w

Nutzen: Erkennen, welche Prozesse in der Session laufen (WHAT) und wie lange die Session inaktiv ist (IDLE).

ps

ps zeigt die sshd-Prozesse und deren PIDs — nützlich, wenn Sie eine bestimmte Session anhand der PID terminiert wollen.

ps auxwww | grep sshd: | grep -v grep

Beispielausgabe:

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

Hinweis: Die PIDs (z. B. 35532) sind praktisch zum gezielten Beenden oder für weitere forensische Prüfungen.

netstat

netstat zeigt offene Netzwerkverbindungen. Filtern Sie nach ESTABLISHED und sshd.

netstat -tnpa | grep 'ESTABLISHED.*sshd'

Beispielausgabe:

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 

Erläuterung: Lokale Adresse:Port links, entfernte Adresse:Port rechts. Praktisch, um aktive Netzwerkendpunkte zu sehen.

last

last liest /var/log/wtmp und zeigt eingeloggte und abgemeldete Sessions, inklusive derjenigen, die noch aktiv sind.

last -a | grep -i still

Beispielausgabe:

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

Nutzen: Historie + aktuell eingeloggte Sitzungen.

ss

ss ist ein modernes Gegenstück zu netstat und oft schneller; verwenden Sie grep, um SSH-Verbindungen zu filtern.

ss | grep -i ssh

Beispielausgabe:

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                                                                           

ss liefert detaillierte Socket-Informationen und ist in vielen Distributionen Standard.

Alternative Ansätze

  • /var/log/auth.log oder journalctl -u sshd: Prüfen Sie Authentifizierungsereignisse, fehlgeschlagene Logins und Zeitstempel.
  • lsof -i :22: Listet Prozesse, die Port 22 verwenden.
  • auditd: Für detailliertes Audit-Logging von Logins und Befehlen.
  • Centerized Monitoring: Prometheus + node_exporter, zusammen mit Benachrichtigungen für ungewöhnlich viele Verbindungen.

Wann die Methoden versagen

  • Wenn SSH über Non-Standard-Ports läuft, filtern Sie entsprechend (z. B. :2222 statt :22).
  • Bei NAT oder Load-Balancer sehen Sie eventuell nur die IP des Load-Balancers; prüfen Sie X-Forwarded-For im Proxy oder die Proxylogs.
  • Wenn Auth-Logs rotiert oder gelöscht sind, fehlen historische Daten.
  • Containerisierte Dienste: ps/ss/netstat laufen innerhalb des Containers und zeigen nur containerinterne Verbindungen.

Wichtig: Verlassen Sie sich nicht nur auf eine einzelne Methode. Kombinieren Sie Prozess-, Socket- und Log-Informationen für genaue Analysen.

Sicherheits- und Betriebsmaßnahmen

  • Beschränken Sie root-Login (PermitRootLogin no) und nutzen Sie Key-Authentifizierung.
  • Setzen Sie Fail2ban oder ähnliche Tools ein, um Brute-Force-Angriffe zu blockieren.
  • Protokollieren und zentralisieren Sie Authentifizierungsereignisse (SIEM, syslog-Server).
  • Richten Sie Alerts ein, z. B. bei ungewöhnlich vielen Verbindungen von einer IP.

Rollenspezifische Checkliste

Für Systemadministratoren:

  • who/w prüfen, um aktuelle Sessions zu sehen.
  • ps verwenden, um verdächtige PIDs zu identifizieren.
  • Bei Bedarf eine Session sauber beenden (kill PID) und untersuchen.

Für Sicherheitsteams:

  • Auth-Logs auf Fehlversuche und ungewöhnliche IPs prüfen.
  • Fail2ban-Status und Blocklisten kontrollieren.
  • Historische Auswertung mit last und zentralisiertem Logging durchführen.

Kriterien für Prüfung

  • Können Sie alle aktuell aktiven SSH-Sessions mit IP-Adresse und Login-Zeit auflisten? (who, w oder last)
  • Haben Sie die zugehörigen PIDs identifiziert? (ps)
  • Können Sie aktive TCP-Verbindungen zu Port 22/SSH nachverfolgen? (ss/netstat)
  • Liegt eine zentrale Protokollierung vor, die längere Historie erlaubt?

Kurzes Glossar

  • SSH: Secure Shell, verschlüsselter Fernzugriff.
  • PID: Prozess-ID.
  • ESTABLISHED: Zustand einer vollständig aufgebauten TCP-Verbindung.
  • wtmp: Binäre Datei mit Login/Logout-Ereignissen (/var/log/wtmp).

Testfälle und Akzeptanzkriterien

  • Test: Öffnen Sie eine SSH-Verbindung von einem Client. Erwartet: who, w und ss/netstat zeigen die Verbindung innerhalb von Sekunden.
  • Test: Beenden Sie die Session sauber. Erwartet: last zeigt keine “still logged in”-Einträge mehr für diese Session.
  • Test: Simulierter Brute-Force. Erwartet: Fail2ban (wenn konfiguriert) blockiert die IP nach konfigurierter Schwelle.

Fazit

Mit who, w, ps, netstat, ss und last haben Sie robuste, sofort verfügbare Werkzeuge, um aktive SSH-Verbindungen zu identifizieren und zu analysieren. Ergänzen Sie diese Abfragen durch Log-Analysen und automatisierte Sicherheitsmaßnahmen, um Monitoring und Incident-Response sicherzustellen.

Zusammenfassung und Handlungsempfehlung:

  • Kombinieren Sie mehrere Tools für Zuverlässigkeit.
  • Protokollieren Sie zentral und richten Sie Alerts ein.
  • Einschränken des root-Zugangs und harte Authentifizierungsrichtlinien erhöhen die Sicherheit.
Autor
Redaktion

Ähnliche Materialien

Netflix herunterladen: Filme & Serien offline
Streaming

Netflix herunterladen: Filme & Serien offline

RAID1 auf CentOS 5.3 vorbereiten und GRUB anpassen
Systemadministration

RAID1 auf CentOS 5.3 vorbereiten und GRUB anpassen

YouTube-Dislikes anzeigen: Browser & Android
How-to

YouTube-Dislikes anzeigen: Browser & Android

RSS filtern mit Feed Rinse
Produktivität

RSS filtern mit Feed Rinse

Smartphones hacken japanische Autos — Experiment
Cybersicherheit

Smartphones hacken japanische Autos — Experiment

Mac: Login-Wallpaper ändern – Schritt für Schritt
macOS Anleitung

Mac: Login-Wallpaper ändern – Schritt für Schritt