Tailscale Alternative einrichten Teil 2 / 4

Teil 2: Benutzer verwalten

Ein Headscale-"User" ist kein Login mit Passwort, sondern eine Gruppierung: Alle Geräte einer Person hängen an ihrem User. Das hilft dir später bei der Übersicht und bei Zugriffsbeschränkungen.

Neuen Benutzer anlegen

Terminal
docker exec headscale headscale users create <username>

Beispiel:

Terminal
docker exec headscale headscale users create mama

Alle Benutzer auflisten

Terminal
docker exec headscale headscale users list

Die dort angezeigte ID brauchst du für einige andere Befehle (z. B. preauthkeys create), während andere Befehle (z. B. auth register, siehe Teil 3) stattdessen den Namen erwarten. Etwas uneinheitlich, aber das ist der aktuelle Stand.

Ein kleines Komfort-Skript

Damit du nicht bei jedem neuen Familienmitglied den vollen docker exec-Befehl tippen musst:

Terminal
#!/bin/bash
# ~/headscale/hsuseradd.sh
set -euo pipefail

usage() {
    echo "Usage: hsuseradd <username>"
    exit 1
}

if [[ $# -lt 1 ]]; then
    usage
fi

USERNAME="$1"

echo "Prüfe, ob User '$USERNAME' bereits existiert ..."
if docker exec headscale headscale users list --output json \
    | jq -e --arg name "$USERNAME" '.[] | select(.name == $name)' > /dev/null 2>&1; then
    echo "Fehler: User '$USERNAME' existiert bereits."
    exit 1
fi

echo "Lege User '$USERNAME' an ..."
docker exec headscale headscale users create "$USERNAME"
docker exec headscale headscale users list
Terminal
chmod +x ~/headscale/hsuseradd.sh
sudo apt install -y jq
echo "alias hsuseradd='~/headscale/hsuseradd.sh'" >> ~/.bashrc
source ~/.bashrc

Nutzung danach:

Terminal
hsuseradd papa

Benutzer löschen

Terminal
docker exec headscale headscale users list
docker exec -it headscale headscale users delete -i <ID>

Achtung: Damit werden auch alle Geräte entfernt, die diesem User zugeordnet sind.

Weiter geht's in Teil 3 mit dem eigentlichen Verbinden von Geräten.