Skip to main content

Linux - Angemeldete User

Diese Anleitung zeigt, wie man auf einem Debian-Server:

  • aktive Logins anzeigt,
  • die Art der Anmeldung erkennt (z. B. SSH, TTY),
  • und Benutzer-Sessions gezielt trennt („kicken“).
Wichtig: Die meisten Schritte müssen als root ausgeführt werden (z. B. über direkte Root-Anmeldung oder su -).

1. Aktive Benutzer anzeigen

1.1 Schnellübersicht mit who

Der Befehl who zeigt, wer aktuell eingeloggt ist.

who

Typische Ausgabe:

user1    pts/0        2025-12-02 10:15 (192.168.1.10)
user2    pts/1        2025-12-02 10:20 (10.0.0.5)
  • user1 / user2: Benutzername
  • pts/0, pts/1: Terminal (Pseudo-Terminal, meistens SSH)
  • Datum/Uhrzeit: Zeitpunkt der Anmeldung
  • IP/Hostname: Quelle der Verbindung

1.2 Detailansicht mit w

w liefert zusätzlich, was die Benutzer gerade tun.

w

Typische Ausgabe (Beispiel gekürzt):

 10:25:01 up 10 days,  3:12,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.10     10:15    2:00   0.01s  0.01s -bash
user2    pts/1    10.0.0.5         10:20    0.00s  0.02s  0.00s sshd: user2@pts/1
Hinweis: Die Spalte FROM zeigt die Quelle (IP/Hostname), WHAT zeigt den aktuell laufenden Prozess bzw. Befehl.

1.3 Nur Benutzernamen mit users

Wenn nur eine schnelle Liste der angemeldeten Benutzer benötigt wird:

users

2. Anmelde-Historie anzeigen

2.1 Letzte Logins mit last

last liest /var/log/wtmp und zeigt vergangene Logins und Logouts.

last

Beispielausgabe:

user1   pts/0    192.168.1.10   Tue Dec  2 10:15   still logged in
user2   pts/1    10.0.0.5       Tue Dec  2 10:20 - 10:30  (00:10)
reboot  system boot  5.10.0-xx  Mon Dec  1 09:00   still running

Mit zusätzlicher Anzeige der IP/Hostname am Ende:

last -a

2.2 Übersicht über alle Benutzer mit lastlog

Alle Benutzer und deren letzten Login:

lastlog

Damit lassen sich z. B. inaktive Accounts erkennen.


3. SSH-Logins über Logdateien prüfen

SSH-Anmeldungen werden auf Debian typischerweise in /var/log/auth.log protokolliert.

3.1 Aktuelle SSH-Sessions und Logins anzeigen

Nur die Zeilen mit geöffneten Sessions anzeigen:

grep "session opened for user" /var/log/auth.log

Nur fehlgeschlagene SSH-Logins anzeigen:

grep "Failed password" /var/log/auth.log

3.2 Live-Monitoring von SSH-Anmeldungen

Neue SSH-Einträge fortlaufend beobachten:

tail -f /var/log/auth.log

Oder mit journalctl (bei systemd):

journalctl -u ssh -f

4. Benutzer-Sessions gezielt trennen („kicken“)

Vorsicht: Das Beenden einer Session kann laufende Prozesse oder ungespeicherte Arbeiten des Benutzers zerstören. Nur dort beenden, wo es wirklich nötig ist.

4.1 Session über Terminal (TTY/PTS) beenden

1. Zuerst das Terminal des Benutzers ermitteln, z. B. mit who:

who

Beispiel:

user1    pts/0        2025-12-02 10:15 (192.168.1.10)

Hier ist das Terminal pts/0.

2. Session über dieses Terminal beenden:

pkill -KILL -t pts/0
  • -KILL: sendet das SIGKILL-Signal (sofortiges Beenden)
  • -t pts/0: Ziel ist das Terminal pts/0

Nach diesem Befehl wird der Benutzer user1 von diesem Terminal abgemeldet.

4.2 Session über loginctl beenden (systemd)

Auf systemd-basierten Systemen (aktuelles Debian) können Sessions mit loginctl verwaltet werden.

4.2.1 Sessions anzeigen

loginctl list-sessions

Beispielausgabe:

SESSION  UID  USER   SEAT  TTY
     2 1000  user1        pts/0
     3 1001  user2        pts/1

4.2.2 Einzelne Session beenden

Um z. B. Session 2 zu beenden:

loginctl terminate-session 2

4.2.3 Alle Sessions eines Benutzers beenden

Um alle Sessions des Benutzers user1 zu beenden:

loginctl kill-user user1

5. Welche Art von Anmeldung liegt vor?

Über die Ausgabe von w, who und die Logs lässt sich die Art der Anmeldung erkennen:

  • SSH: TTY beginnt meist mit pts/ und FROM ist eine IP/Hostname.
  • Lokale Konsole: TTY wie tty1, FROM oft leer oder :.
  • Andere Dienste: z. B. SFTP, je nach Konfiguration teilweise nur in Logs sichtbar.

Über die Logdatei /var/log/auth.log sieht man zudem genau:

  • Von welcher IP ein Login kommt,
  • ob der Login erfolgreich war,
  • wann eine Session geöffnet oder geschlossen wurde.

6. Praxis-Beispiele

6.1 Alle aktuell eingeloggten Benutzer anzeigen

who
w

6.2 Historie der Logins eines bestimmten Benutzers

Beispielsweise für den Benutzer user1:

last user1

6.3 Alle fehlgeschlagenen SSH-Logins anzeigen

grep "Failed password" /var/log/auth.log

6.4 Bestimmten SSH-Benutzer sofort trennen

Beispiel: user1 ist auf pts/0 eingeloggt.

who
pkill -KILL -t pts/0

7. Zusammenfassung

  • who, w, users: aktuelle Logins
  • last, lastlog: Login-Historie
  • /var/log/auth.log und journalctl -u ssh: Details zu SSH-Logins
  • pkill -KILL -t <tty>: einzelne Session über Terminal beenden
  • loginctl terminate-session / loginctl kill-user: Sessions über systemd verwalten

Mit diesen Befehlen lassen sich Benutzeraktivitäten auf einem Debian-Server nachvollziehen und bei Bedarf Sessions gezielt trennen.