Ga naar inhoud

Een geheim uit de kluis lezen

Machinevertaling van het Franse origineel.

De park heeft twee kluizen, en de eerste vraag is welke je moet gebruiken. Het criterium is wie het geheim opvraagt:

Het geheim is… Kluis Hulpmiddelen
een machinegeheim: API-sleutel, service wachtwoord, token, SSH-sleutel van de host OpenBao, op de eigen machine (pi-bao) bao-get · bao-put
een menselijk geheim: webaccount, back-up code, persoonlijke apparaat Vaultwarden bws

Dit gaat terug naar 27-09-2026. Voorheen bevonden alle gegevens zich in Vaultwarden: een oudere notitie of script die daar een API-sleutel zoekt, beschrijft de situatie voorheen. Een beheerder weigert nu om een entry te maken die het uiterlijk heeft van een machinegeheim.

Machinegeheim – OpenBao

# noms des clés d'un chemin (jamais les valeurs)
bao-get <hôte>/<stack> --keys

# lire une valeur, et la déplacer sans jamais l'afficher
bao-get <hôte>/<stack> <CLÉ> | ssh -p <port-ssh> <user>@<hôte> 'script-qui-lit-stdin'

# écrire : la valeur arrive sur stdin, jamais en argument
printf '%s' "$VALEUR" | bao-put <hôte>/<stack> <CLÉ> --maintenant

De route machines/<hôte>/<stack> is een spiegel van het versleutelde geheugenbestand. Een synchronisator haalt het dan elke vijf minuten naar de container (--maintenant doet dit direct), en stuurt alle wijzigingen die direct in het versleutelde bestand worden aangebracht, terug naar OpenBao. Tijdens het opstarten, contacteren de hosts nooit de kluis: ze lezen hun lokale kopie, waardoor een uitgeschakelde kluis geen enkel service kan herstarten.

Er is geen menselijke interactie nodig voor een machinegeheim. Het lezen, schrijven en gebruiken van een sleutel gebeurt zonder interactie.

Menselijk geheim – Vaultwarden

De kluis is al geopend: een service onderhoudt de sessie in ~/.cache/bw/session.

# 1. trouver l'identifiant de l'entrée — TOUJOURS filtrer
~/bin/bws list items --search <motif> | jq -r '.[] | "\(.id)  \(.name)"'

# 2. lire la valeur, par un tube
~/bin/bws get password <identifiant> | <consommateur-qui-lit-stdin>

Nooit uitvoeren bw unlock

Zonder interactieve terminal, blokkeert het commando tot het verloopt – en de kluis was al open. Dit is verspilde tijd voor een probleem dat niet bestaat.

bws list zonder filter maakt het object compleet, inclusief het wachtwoord

Daarom het jq van stap 1. Dit gaat niet om een comfortabel display: het voorkomt dat alle wachtwoorden die overeenkomen met het patroon, worden afgedrukt.

Er zijn twee fouten die als "vergrendelde kluis" worden gezien:

  1. ~/.bwsession bestaat niet meer (verwijderd op 2026-08-20). Dit was een orpheling die vastzat aan een juni-sessie, en die verschillende sessies achter elkaar gebruikten, terwijl de service zelf in ~/.cache/bw/session schreef.
  2. bw wordt aangeroepen zonder absolute pad, en faalt in de context van systemd: het PATH van een unit bevat niet ~/.npm-global/bin. Het command not found wordt geconsumeerd, en de aanroepend concludeert dat er een "vergrendelde kluis" is, terwijl de kluis open staat.

Wat beide kluizen gemeen hebben

De waarde gaat via een pijplijn, nooit via het scherm, een commando of een weergegeven variabele: deze gaat niet door de context van de agent, de sessie-log, of de lijst met processen.

Een geheim wordt opgeslagen zodra het is geïnstalleerd, in dezelfde sessie, en niet later. Een geheim dat alleen in een .env op een host aanwezig is, is een geheim dat niemand zal terugvinden wanneer de host uitvalt.

Dernière vérification de cette page : 2026-10-06