Doku: Dollarzeichen-Falle beim Passwort-Hash in .env dokumentieren
docker-compose interpretiert rohe $-Zeichen im pbkdf2-Hash (.env) selbst als Variablen-Referenzen und ersetzt sie stillschweigend durch Leerstring (sichtbar als "WARN variable is not set"). Ergebnis: verstümmelter Hash, Dashboard bleibt trotz "richtig" eingetragener Werte bei "no auth providers are registered" haengen. Fix: jedes $ im Hash durch $$ ersetzen.
This commit is contained in:
@@ -30,6 +30,20 @@ HERMES_GID=10000
|
||||
# der braucht HERMES_DASHBOARD_PASSWORD_HASH schon zum Hochfahren (Henne-Ei-
|
||||
# Problem, siehe docker-compose.yml), "hermes-agent" laeuft auch ohne.
|
||||
# Den Output (nicht das Passwort selbst!) hier eintragen.
|
||||
#
|
||||
# ACHTUNG DOLLARZEICHEN-FALLE: der erzeugte Hash hat das Format
|
||||
# "pbkdf2:sha256:<n>$<salt>$<hash>" - also ZWEI rohe "$"-Zeichen drin.
|
||||
# Docker Compose interpretiert "$xyz" in .env-Werten selbst als
|
||||
# Variablen-Referenz und ersetzt nicht aufloesbare Teile stillschweigend
|
||||
# durch Leerstring (sichtbar als "WARN The "xyz" variable is not set"
|
||||
# beim "docker-compose up"). Ergebnis: ein verstuemmelter Hash, das
|
||||
# Dashboard startet trotzdem nicht ("no auth providers are registered"),
|
||||
# obwohl alles "richtig" eingetragen aussieht.
|
||||
# FIX: jedes einzelne "$" im Hash durch "$$" ersetzen bevor Du ihn hier
|
||||
# eintraegst, z.B. aus
|
||||
# pbkdf2:sha256:260000$f2kwriK6aYVRG5$BRps7npu2Tzg...
|
||||
# wird
|
||||
# pbkdf2:sha256:260000$$f2kwriK6aYVRG5$$BRps7npu2Tzg...
|
||||
HERMES_DASHBOARD_USER=admin
|
||||
HERMES_DASHBOARD_PASSWORD_HASH=
|
||||
|
||||
|
||||
@@ -98,8 +98,20 @@ aussen — kein anderer Rechner kommt mehr direkt ran.
|
||||
docker exec -it hermes-agent python -c \
|
||||
"from plugins.dashboard_auth.basic import hash_password; print(hash_password('DEIN-PASSWORT'))"
|
||||
```
|
||||
Output (den Hash, nicht das Passwort) in `.env` bei `HERMES_DASHBOARD_PASSWORD_HASH`
|
||||
eintragen, `HERMES_DASHBOARD_USER` nach Belieben setzen (Default `admin`).
|
||||
**ACHTUNG DOLLARZEICHEN-FALLE:** der Hash hat das Format
|
||||
`pbkdf2:sha256:<n>$<salt>$<hash>` — zwei rohe `$`-Zeichen drin. Docker
|
||||
Compose interpretiert `$xyz` in `.env`-Werten selbst als Variablen-
|
||||
Referenz und ersetzt nicht aufloesbare Teile stillschweigend durch
|
||||
Leerstring (sichtbar als `WARN The "xyz" variable is not set` beim
|
||||
`docker-compose up`). Ohne Escaping kommt im Container ein
|
||||
verstuemmelter Hash an und das Dashboard bleibt bei "no auth providers
|
||||
are registered" haengen, obwohl alles "richtig" eingetragen aussieht.
|
||||
**Jedes `$` im Hash durch `$$` ersetzen**, bevor Du ihn in `.env`
|
||||
eintraegst (z.B. `260000$abc$def` → `260000$$abc$$def`).
|
||||
|
||||
Output (den escapeten Hash, nicht das Passwort) in `.env` bei
|
||||
`HERMES_DASHBOARD_PASSWORD_HASH` eintragen, `HERMES_DASHBOARD_USER`
|
||||
nach Belieben setzen (Default `admin`).
|
||||
Der `dashboard.basic_auth`-Block dazu liegt schon fertig in
|
||||
`hermes-agent-config/config.yaml.example` (Platzhalter, die Hermes selbst
|
||||
aus den Container-Env-Vars expandiert — kein manuelles Ausfuellen noetig,
|
||||
|
||||
Reference in New Issue
Block a user