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
docker exec headscale headscale users create <username>
Beispiel:
docker exec headscale headscale users create mama
Alle Benutzer auflisten
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:
#!/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
chmod +x ~/headscale/hsuseradd.sh
sudo apt install -y jq
echo "alias hsuseradd='~/headscale/hsuseradd.sh'" >> ~/.bashrc
source ~/.bashrc
Nutzung danach:
hsuseradd papa
Benutzer löschen
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.