Bitwarden-Kommandozeile
Die Bitwarden-Kommandozeile ist ein leistungsfähiges, voll ausgestattetes Werkzeug für den Zugriff auf Ihren Tresor und dessen Verwaltung. Die meisten Funktionen, die Sie in anderen Bitwarden-Client-Anwendungen (PC, Browser-Erweiterung, etc.) finden, sind über die Kommandozeile verfügbar.

Die Bitwarden-Kommandozeile ist selbstdokumentiert. Lernen Sie die verfügbaren Befehle über die Kommandozeile kennen:
bw --help
Oder geben Sie --help
als Option bei jedem bw
-Befehl an, um die verfügbaren Optionen und Beispiele zu sehen:
bw list --help
bw move --help
Die meisten Informationen, die Sie benötigen, können mit --help
abgerufen werden. Dieser Artikel fasst jedoch all diese Informationen zusammen und geht auf einige Themen noch näher ein.
Die Kommandozeile kann plattformübergreifend unter Windows, macOS und Linux-Distributionen verwendet werden. So laden Sie Bitwarden für die Kommandozeile herunter und installieren das Programm:
Nativ gepackte Versionen der Kommandozeile sind für jede Plattform verfügbar und haben keine Abhängigkeiten. Laden Sie sie über einen der folgenden Links herunter:
Tipp
In UNIX systems, you might get a Permission denied
message. If you do, grant permission by running:
chmod +x </path/to/executable>
Wenn Sie Node.js auf Ihrem System installiert haben, können Sie die Kommandozeile mit NPM installieren. Die Installation mit NPM ist der einfachste Weg, um Ihre Installation auf dem neuesten Stand zu halten und sollte die bevorzugte Methode für diejenigen sein, die bereits mit NPM vertraut sind:
npm install -g @bitwarden/cli
Sehen Sie sich das Paket auf npmjs.org an.
So installieren Sie Bitwarden via Chocolatey:
choco install bitwarden-cli
Sehen Sie sich das Paket auf community.chocolatey.org an.
So installieren Sie Bitwarden via Snap:
sudo snap install bw
Sehen Sie sich das Paket auf snapcraft.io an.
Es gibt drei Methoden, um sich mit dem login
-Befehl in der Bitwarden-Kommandozeile anzumelden, die sich jeweils für unterschiedliche Situationen eignen. Bitte prüfen Sie die folgenden Optionen, um zu entscheiden, welche Methode Sie verwenden möchten:
Egal, welche Option Sie verwenden – stellen Sie stets sicher, dass Sie die Befehle bw lock
oder bw logout
ausführen, wenn Sie fertig sind.
Tipp
Bei der Anmeldung mit E-Mail-Adresse und Master-Passwort wird Ihr Master-Passwort verwendet, sodass die Befehle login
und unlock
zum Anmelden und Entsperren miteinander verknüpft werden können, um Ihre Identität zu authentifizieren und Ihren Tresor gleichzeitig zu entschlüsseln. Bei der Verwendung eines API-Schlüssels oder von SSO müssen Sie dem login
-Befehl einen expliziten bw unlock
-Befehl folgen lassen, wenn Sie direkt mit Tresordaten arbeiten wollen.
Das liegt daran, dass Ihr Master-Passwort die Quelle des Schlüssels ist, der zur Entschlüsselung der Tresordaten benötigt wird. Es gibt jedoch einige Befehle, für die Ihr Tresor nicht entschlüsselt werden muss, darunter config
, encode
, generate
, update
und status
.
Für interaktive Sitzungen wird empfohlen, sich mit E-Mail-Adresse und Passwort anzumelden. So melden Sie sich mit E-Mail-Adresse und Passwort an:
bw login
Dadurch wird eine Aufforderung zur Eingabe Ihrer E-Mail-Adresse, Ihres Master-Passworts und (falls aktiviert) des Codes für die zweistufige Anmeldung ausgelöst. Die Kommandozeile unterstützt derzeit die zweistufige Anmeldung über Authenticator-App, E-Mail und Yubikey.
Sie können diese Faktoren wie im folgenden Beispiel in einem einzigen Befehl zusammenfassen, was jedoch aus Sicherheitsgründen nicht empfohlen wird:
bw login [email] [password] --method <method> --code <code>
Für <method>-Werte bei der zweistufigen Anmeldung siehe Aufzählungen.
Tipp
Sie werden zur zusätzlichen Authentifizierung aufgefordert oder erhalten eine Fehlermeldung, wonach Ihre Authentifizierungsanfrage von einem Bot zu kommen scheint? Verwenden Sie client_secret
für Ihren API-Schlüssel, um die Authentifizierungsanforderung zu beantworten. Mehr erfahren.
Die Anmeldung mit dem persönlichen API-Schlüssel wird für automatisierte Arbeitsabläufe oder die Bereitstellung des Zugriffs auf eine externe Anwendung empfohlen. So melden Sie sich mit dem API-Schlüssel an:
bw login --apikey
Dadurch wird eine Aufforderung zur Eingabe Ihrer persönlichen client_id
und Ihres client_secret
ausgelöst. Sobald Ihre Sitzung mit diesen Werten authentifiziert ist, können Sie den Befehl unlock
verwenden. Mehr erfahren.
Tipp
Wenn Ihre Organisation SSO erfordert, können Sie sich trotzdem mit --apikey
über die Kommandozeile anmelden.
Verwenden von API-Schlüssel-Umgebungsvariablen
In Szenarien, in denen automatisiert mit der Bitwarden-Kommandozeile gearbeitet wird, können Sie Umgebungsvariablen speichern, um die Notwendigkeit eines manuellen Eingriffs bei der Authentifizierung zu vermeiden.
Name der Umgebungsvariable | erforderlicher Wert |
---|---|
BW_CLIENTID |
|
BW_CLIENTSECRET |
|
Die Anmeldung mit SSO (Single Sign-on: Einmalanmeldung) wird empfohlen, wenn eine Organisation SSO-Authentifizierung erfordert. So melden Sie sich mit SSO an:
bw login --sso
Dadurch wird der SSO-Authentifizierungsablauf in Ihrem Web-Browser initiiert. Sobald Ihre Sitzung authentifiziert ist, können Sie den Befehl unlock
verwenden. Mehr erfahren.
Tipp
Wenn Ihre Organisation SSO erfordert, können Sie alternativ --apikey
verwenden, um sich über die Kommandozeile anzumelden.
Wenn Sie sich mit einem API-Schlüssel oder mit SSO anmelden, müssen Sie dem Anmeldebefehl ein explizites bw unlock
folgen lassen, wenn Sie direkt mit Tresordaten arbeiten.
Generate a new session key at any time using: Der Sitzungsschlüssel muss verwendet werden, um einen Befehl auszuführen, der Daten des Tresors berührt (z. B. list
, get
, edit
). Sitzungsschlüssel sind gültig, bis sie mit bw lock
oder bw logout
ungültig gemacht werden; sie bleiben jedoch nicht erhalten, wenn Sie ein neues Terminalfenster öffnen. Erzeugen Sie jederzeit einen neuen Sitzungsschlüssel mit dem Befehl:
bw unlock
Wenn Sie fertig sind, beenden Sie Ihre Sitzung immer mit dem Befehl bw lock
.
Sie können die Optionen --passwordenv <passwordenv>
oder --passwordfile <passwordfile>
mit bw unlock
verwenden, um beispielsweise Ihr Master-Passwort abzurufen, anstatt es manuell einzugeben:
Im folgenden Beispiel wird nach einer Umgebungsvariablen
BW_PASSWORD
gesucht. WennBW_PASSWORD
nicht leer ist und die richtigen Werte hat, wird die Kommandozeile erfolgreich entsperren und einen Sitzungsschlüssel ausgeben:bw unlock --passwordenv BW_PASSWORD
Im folgenden Beispiel wird nach der Datei
~Users/Me/Documents/mp.txt
gesucht (die Ihr Master-Passwort in der ersten Zeile enthalten muss). Wenn die Datei nicht leer ist und einen korrekten Wert hat, wird die Kommandozeile erfolgreich entsperrt und einen Sitzungsschlüssel ausgeben:bw unlock --passwordfile ~/Users/Me/Documents/mp.txt
Warnung
Wenn Sie die Option --passwordfile
verwenden, schützen Sie Ihre Passwortdatei, indem Sie den Zugriff ausschließlich auf den Benutzer beschränken, der bw unlock
ausführen muss, und nur diesem Benutzer Lesezugriff gewähren.
Wenn Sie Ihren Tresor mit bw login
mit E-Mail und Passwort oder bw unlock
entsperren, gibt die Kommandozeile sowohl einen Befehl export BW_SESSION
(Bash) als auch einen Befehl env:BW_SESSION
(PowerShell) aus, der Ihren Sitzungsschlüssel enthält. Kopieren Sie den entsprechenden Eintrag und fügen Sie ihn ein, um die erforderliche Umgebungsvariable zu speichern.
Wenn die Umgebungsvariable BW_SESSION
gegeben ist, verweisen bw
-Befehle auf diese Variable und können sauber ausgeführt werden, z. B:
export BW_SESSION="5PBYGU+5yt3RHcCjoeJKx/wByU34vokGRZjXpSH7Ylo8w=="
bw list items
Wenn Sie die Umgebungsvariable nicht setzen, können Sie alternativ den Sitzungsschlüssel als Option mit jedem bw
-Befehl übergeben:
bw list items --session "5PBYGU+5yt3RHcCjoeJKx/wByU34vokGRZjXpSH7Ylo8w=="
Tipp
Wenn Sie fertig sind, beenden Sie Ihre Sitzung immer mit den Befehlen bw lock
oder bw logout
. Dadurch wird der aktive Sitzungsschlüssel ungültig.
Der create
-Befehl erstellt ein neues Objekt (item
, attachment
etc.) in Ihrem Tresor:
bw create (item|attachment|folder|org-collection) <encodedJson> [options]
Der create
-Befehl verarbeitet kodiertes JSON. Ein typischer Arbeitsablauf zum Erstellen eines Objekts könnte etwa so aussehen:
Verwenden Sie den Befehl
get template
(siehe Details), um die entsprechende JSON-Vorlage für den Objekttyp auszugeben.Verwenden Sie einen JSON-Prozessor für die Kommandozeile, etwa jq, um die ausgegebene Vorlage wie gewünscht zu bearbeiten.
Verwenden Sie den Befehl
encode
(siehe Details), um das bearbeitete JSON zu kodieren.Verwenden Sie den Befehl
create
, um ein Objekt aus dem kodierten JSON zu erstellen.
Beispiel:
bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder
Oder:
bw get template item | jq ".name=\"My Login Item\" | .login=$(bw get template item.login | jq '.username="jdoe" | .password="myp@ssword123"')" | bw encode | bw create item
Nach erfolgreicher Erstellung wird das entsprechende Objekt als JSON ausgegeben.
create für andere Objekttypen
Der create-Befehl erstellt standardmäßig ein Login-Element, aber Sie könneneinen JSON-Prozessor für die Kommandozeile, etwa jq, verwenden, um ein .type=
-Attribut zu ändern und andere Objekttypen zu erstellen:
Name | Wert |
---|---|
Zugangsdaten |
|
Karte |
|
Identität |
|
Sichere Notiz |
|
Mit dem folgenden Befehl wird beispielsweise eine sichere Notiz erstellt:
bw get template item | jq '.type = 2 | .secureNote.type = 0 | .notes = "Contents of my Secure Note." | .name = "My Secure Note"' | bw encode | bw create item
Hinweis
Beachten Sie im obigen Beispiel, dass sichere Notizen eine untergeordnete Vorlage (.secureNote.type
) erfordern. Sie können die untergeordneten Vorlagen des Elementtyps mit bw get template
anzeigen (siehe hier für Details).
create attachment
Der Befehl create attachment
hängt eine Datei an ein bestehendes Element an.
Im Gegensatz zu anderen create-Operationen müssen Sie keinen JSON-Prozessor verwenden (und auch keine Kodierung), um einen Anhang zu erstellen. Verwenden Sie stattdessen die Option --file
, um die anzuhängende Datei anzugeben, und die Option --itemid
, um das Element anzugeben, an das sie angehängt werden soll. Zum Beispiel:
bw create attachment --file ./path/to/file --itemid 16b15b89-65b3-4639-ad2a-95052a6d8f66
Tipp
Wenn Sie die genaue itemid
, die Sie verwenden möchten, nicht kennen, verwenden Sie bw get item <Suchbegriff>
, um das Element (siehe Details) einschließlich seiner id
auszugeben.
Der get-Befehl ruft ein einzelnes Objekt (item
, username
, password
und mehr) aus dem Tresor ab:
bw get (item|username|password|uri|totp|exposed|attachment|folder|collection|organization|org-collection|template|fingerprint) <id> [options]
Der Befehl get
benötigt eine id
des Elements oder eine Zeichenkette (String) als Parameter. Wenn Sie eine Zeichenkette verwenden (z. B. etwas anderes als eine exakte id
), sucht get
in Ihren Tresorobjekten nach einem Objekt mit einem passenden Wert. Der folgende Befehl würde zum Beispiel ein GitHub-Passwort ausgeben:
bw get password Github
Hinweis
Der get
-Befehl kann nur ein Ergebnis ausgeben, Sie sollten also konkrete Suchbegriffe verwenden. Wenn mehrere Ergebnisse gefunden werden, gibt die Kommandozeile einen Fehler aus.
get attachment
Der Befehl get attachment
lädt einen Dateianhang herunter:
bw get attachment <filename> --itemid <id>
Der Befehl get attachment
benötigt einen Dateinamen (filename
) und eine genaue id
. Standardmäßig lädt get attachment den Anhang in das aktuelle Arbeitsverzeichnis herunter. Sie können die Option --output
verwenden, um ein anderes Ausgabeverzeichnis anzugeben, zum Beispiel:
bw get attachment photo.png --itemid 99ee88d2-6046-4ea7-92c2-acac464b1412 --output /Users/myaccount/Pictures/
Hinweis
Bei der Verwendung von --output
muss der Pfad mit einem Schrägstrich (/
) enden, um ein Verzeichnis oder einen Dateinamen anzugeben (/Users/myaccount/Pictures/photo.png
).
get notes
Der Befehl get notes
ruft die Notiz zu einem beliebigen Tresoreintrag ab:
bw get notes <id>
Der Befehl get notes
verwendet eine exakte id
des Elements oder eine Zeichenkette (String). Wenn Sie eine Zeichenkette verwenden (z. B. etwas anderes als eine exakte id
), sucht get notes
in Ihren Tresor-Einträgen nach einem Objekt mit einem passenden Wert. Der folgende Befehl würde zum Beispiel eine GitHub-Notiz ausgeben:
bw get notes Github
get template
Der Befehl get template
gibt die erwartete JSON-Formatierung für ein Objekt aus (item
, item.field
, item.login
, etc.):
bw get template (item|item.field|item.login|item.login.uri|item.card|item.identity|item.securenote|folder|collection|item-collections|org-collection)
Während Sie get template
verwenden können, um das Format auf dem Bildschirm auszugeben, ist der häufigste Anwendungsfall, die Ausgabe in eine bw create
-Operation zu leiten und einen JSON-Prozessor für die Kommandozeile, etwa jq, und bw encode
zu verwenden, um die von der Vorlage abgerufenen Werte zu manipulieren, zum Beispiel:
bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder
Hinweis
Jede item.xxx
-Vorlage sollte als untergeordnetes Objekt zu einer item
-Vorlage verwendet werden, z. B:
bw get template item | jq ".name=\"My Login Item\" | .login=$(bw get template item.login | jq '.username="jdoe" | .password="myp@ssword123"')" | bw encode | bw create item
Der Befehl edit
bearbeitet ein Objekt (item
, item-collections
, etc.) in Ihrem Tresor:
bw edit (item|item-collections|folder|org-collection) <id> [encodedJson] [options]
Der Befehl edit
benötigt eine genaue id
(des zu bearbeitenden Objekts) und kodiertes JSON (die vorzunehmenden Änderungen). Ein typischer Arbeitsablauf könnte etwa so aussehen:
Verwenden Sie den Befehl
get
(siehe Details), um das zu bearbeitende Objekt auszugeben.Use einen JSON-Prozessor für die Kommandozeile, etwa jq, um das ausgegebene Objekt wie gewünscht zu bearbeiten.
Verwenden Sie den Befehl
encode
(siehe Details) um das bearbeitete JSON zu kodieren.Verwenden Sie den Befehl
edit
(unter Angabe derid
des Objekts), um das Objekt zu bearbeiten.
Um zum Beispiel das Passwort eines Login-Elements zu bearbeiten:
bw get item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328 | jq '.login.password="newp@ssw0rd"' | bw encode | bw edit item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328
Oder um die Sammlung(en) zu bearbeiten, in der bzw. in denen sich ein Element befindet:
echo '["5c926f4f-de9c-449b-8d5f-aec1011c48f6"]' | bw encode | bw edit item-collections 28399a57-73a0-45a3-80f8-aec1011c48f6 --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5
Oder um eine Sammlung zu bearbeiten:
bw get org-collection ee9f9dc2-ec29-4b7f-9afb-aac8010631a1 --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5 | jq '.name="My Collection"' | bw encode | bw edit org-collection ee9f9dc2-ec29-4b7f-9afb-aac8010631a1 --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5
Der edit
-Befehl führt einen Ersetzungsvorgang für das Objekt durch. Nach Abschluss wird das aktualisierte Objekt als JSON ausgegeben.
Der Befehl list
ruft eine Reihe von Objekten (items
, folders
, collections
und mehr) aus Ihrem Tresor ab:
bw list (items|folders|collections|organizations|org-collections|org-members) [options]
Zu den Optionen für den Befehl list
gehören Filter, die bestimmen, was ausgegeben wird, darunter --url <url>
, --folderid <folderid>
, --collectionid <collectionid>
, --organizationid <organizationid>
und --trash
. Jeder Filter akzeptiert null
oder notnull
. Die Kombination mehrerer Filter in einem Befehl führt eine ODER-Verknüpfung durch, zum Beispiel:
bw list items --folderid null --collectionid null
Dieser Befehl gibt Elemente aus, die sich nicht in einem Ordner oder einer Sammlung befinden.
Außerdem können Sie mit --search <Suchbegriff>
nach bestimmten Objekten suchen. Die Kombination von Filter und Suche in einem Befehl führt eine UND-Verknüpfung durch, zum Beispiel:
bw list items --search github --folderid 9742101e-68b8-4a07-b5b1-9578b5f88e6f
Dieser Befehl sucht nach Objekten mit der Zeichenfolge github
im angegebenen Ordner.
Der Befehl delete
löscht ein Objekt aus dem Tresor. Dabei nimmt delete
nur eine exakte id
als Parameter an.
bw delete (item|attachment|folder|org-collection) <id> [options]
Standardmäßig wird ein Objekt mit delete
in den Papierkorb verschoben, wo es 30 Tage lang verbleibt. Mit der Option -p
, --permanent
können Sie ein Element dauerhaft löschen.
bw delete item 7063feab-4b10-472e-b64c-785e2b870b92 --permanent
Um eine org-collection
zu löschen, müssen Sie auch --organizationid <organizationid>
angeben. Siehe Organisations-IDs.
Warnung
Während Elemente, die mit delete
gelöscht werden, bis zu 30 Tage lang mit dem Befehl restore wiederhergestellt werden können (siehe Details), werden Elemente, die mit delete --permanent
gelöscht werden, vollständig entfernt und können nicht wiederhergestellt werden.
Der Befehl restore
stellt ein gelöschtes Objekt aus dem Papierkorb wieder her. Dabei verlangt restore
immer eine exakte id
als Parameter.
bw restore (item) <id> [options]
Zum Beispiel
bw restore item 7063feab-4b10-472e-b64c-785e2b870b92
Der Befehl send
erstellt ein Objekt in Bitwarden Send für vorübergehendes Teilen. In diesem Abschnitt werden einfache Send-Vorgänge beschrieben. Send ist jedoch ein sehr flexibles Werkzeug und wir empfehlen, den Artikel zum Senden über die Kommandozeile zu lesen.
Um einen einfachen textbasierten Send-Vorgang zu erstellen:
bw send -n "My First Send" -d 7 --hidden "The contents of my first text Send."
Um einen einfachen dateibasierten Send-Vorgang zu erstellen:
bw send -n "A Sensitive File" -d 14 -f /Users/my_account/Documents/sensitive_file.pdf
Der Befehl receive
greift auf ein Objekt in Bitwarden Send zu. So empfangen Sie ein Send-Objekt:
bw receive --password passwordforaccess https://vault.bitwarden.com/#/send/yawoill8rk6VM6zCATXv2A/9WN8wD-hzsDJjfnXLeNc2Q
Um von der Kommandozeile aus auf eine Organisation zuzugreifen, müssen Sie die ID Ihrer Organisation sowie die IDs der einzelnen Mitglieder und Sammlungen kennen.
Sie können diese Informationen direkt aus der Kommandozeile mit bw list
abrufen, zum Beispiel:
bw list organizations
bw list org-members --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5
bw list org-collections --organizationid 4016326f-98b6-42ff-b9fc-ac63014988f5
Tipp
Sie können mit dem Befehl bw list
sowohl collections
als auch org-collections
auflisten. Der Befehl bw list collections
listet alle Sammlungen auf, unabhängig davon, zu welcher Organisation sie gehören. Der Befehl bw list org-collections
listet nur Sammlungen auf, die zu der mit --organizationid
angegebenen Organisation gehören.
Hinweis
August 2021: Der Befehl share
wurde in move
geändert. Erfahren Sie mehr.
Der Befehl move
überträgt einen Tresor-Eintrag an eine Organisation:
bw move <itemid> <organizationid> [encodedJson]
Der Befehl move erfordert die Kodierung (encode
) einer Sammlungs-ID und benötigt eine exakte id
(das freizugebende Objekt) und eine exakte organizationid
(die Organisation, für die das Objekt freigegeben werden soll). Zum Beispiel::
echo '["bq209461-4129-4b8d-b760-acd401474va2"]' | bw encode | bw move ed42f44c-f81f-48de-a123-ad01013132ca dfghbc921-04eb-43a7-84b1-ac74013bqb2e
Nach Abschluss des Vorgangs wird das aktualisierte Element ausgegeben.
Der Befehl confirm
bestätigt eingeladene Mitglieder in Ihrer Organisation, die ihre Einladung auch angenommen haben:
bw confirm org-member <id> --organizationid <orgid>
Der confirm
-Befehl benötigt eine exakte id
des Mitglieds sowie eine exakte organizationID
, zum Beispiel:
bw confirm org-member 7063feab-4b10-472e-b64c-785e2b870b92 --organizationid 310d5ffd-e9a2-4451-af87-ea054dce0f78
Der Befehl config
legt die Einstellungen fest, welche die Bitwarden-Kommandozeile verwenden soll:
bw config server <setting> [value]
Eine primäre Verwendung von bw config
ist es, Ihre Kommandozeile mit einem selbst gehosteten Bitwarden-Server zu verbinden:
bw config server https://your.bw.domain.com
Tipp
Sie können den aktuell verbundenen Server auslesen, indem Sie bw config server
ohne einen Wert angeben.
Benutzer mit eigenen Konfigurationen können die URL eines jeden Dienstes unabhängig voneinander angeben:
bw config server --web-vault <url> \
--api <url> \
--identity <url> \
--icons <url> \
--notifications <url> \
--events <url> \
--key-connector <url>
Hinweis
Der Befehl bw config server --key-connector <url>
ist erforderlich, wenn Ihre Organisation Key Connector verwendet und Sie sich mit der Option --apikey
anmelden, nachdem Sie Ihr Master-Passwort entfernt haben.
Wenden Sie sich an den Besitzer der Organisation, um die erforderliche URL zu erhalten.
Der Befehl sync
lädt Ihren verschlüsselten Tresor vom Bitwarden-Server herunter. Dieser Befehl ist besonders nützlich, wenn Sie etwas in Ihrem Bitwarden-Tresor in einer anderen Client-Anwendung (z.B. Web-Tresor, Browser-Erweiterung, mobile App) geändert haben, seit Sie sich über die Kommandozeile angemeldet haben.
bw sync
Sie können die Option --last
verwenden, um nur den Zeitstempel (ISO 8601) der letzten Synchronisierung auszugeben.
Tipp
Es ist wichtig zu wissen, dass sync nur einen Pull-Vorgang am Server durchführt. Die Daten werden automatisch auf den Server übertragen, sobald Sie eine Änderung an Ihrem Tresor vornehmen (z. B. create
, edit
, delete
).
Der Befehl encode
kodiert Standardeingabe mit Base 64. Dieser Befehl wird in der Regel in Kombination mit einem JSON-Prozessor für die Kommandozeile, etwa jq, verwendet, wenn Sie Vorgänge wie beispielsweise create
und edit
durchführen:
bw get template folder | jq '.name="My First Folder"' | bw encode | bw create folder
bw get item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328 | jq '.login.password="newp@ssw0rd"' | bw encode | bw edit item 7ac9cae8-5067-4faf-b6ab-acfd00e2c328
Der import
-Befehl importiert Daten aus einem Bitwarden-Export oder einer anderen unterstützten Anwendung zur Passwortverwaltung. Der Befehl muss auf eine Datei verweisen und die folgenden Parameter enthalten:
bw import <format> <path>
Zum Beispiel
bw import lastpasscsv /Users/myaccount/Documents/mydata.csv
Tipp
Bitwarden unterstützt viele Formate für den Import – zu viele, um sie hier aufzulisten! Verwenden Sie bw import --formats, um die Liste in Ihrer Kommandozeile anzuzeigen, oder lesen Sie hier mehr.
Wenn Sie eine verschlüsselte .json-Datei importieren, die Sie mit einem Passwort erstellt haben, werden Sie aufgefordert, das Passwort einzugeben, bevor der Import abgeschlossen ist.
Der Befehl export
exportiert Tresordaten als .json
, .csv
oder verschlüsselte .json-Datei:
bw export [--output <filePath>] [--format <format>] [--password <password>] [--organizationid <orgid>]
Standardmäßig erzeugt der Befehl export
eine .csv
-Datei (entspricht der Angabe von --format csv
) im aktuellen Arbeitsverzeichnis. Andere Möglichkeiten
--format json
, um eine.json
-Datei zu exportieren--format encrypted_json
, um eine verschlüsselte .json-Datei zu exportieren--password <password>
, um ein Passwort anzugeben, das für die Verschlüsselung derencrypted_json
-Exporte anstelle des Verschlüsselungsschlüssels Ihres Kontos verwendet wird
--output <path>
für den Export an einen bestimmten Ort--raw
, um den Export in Standardausgabe statt in eine Datei auszugeben
export für Organisations-Tresor
Mit dem Befehl export
und der Option --organizationid
können Sie einen Organisationstresor exportieren:
bw export --organizationid 7063feab-4b10-472e-b64c-785e2b870b92 --format json --output /Users/myaccount/Downloads/
Der Befehl generate
erzeugt ein sicheres Passwort oder eine Passphrase:
bw generate [--lowercase --uppercase --number --special --length <length> --passphrase --separator <separator> --words <words>]
Standardmäßig erzeugt der Befehl generate
ein 14-stelliges Passwort mit Großbuchstaben, Kleinbuchstaben und Zahlen. Dies ist das Äquivalent zur Angabe von:
bw generate -uln --length 14
Sie können komplexere Kennwörter erzeugen, indem Sie die für den Befehl verfügbaren Optionen verwenden, darunter:
--uppercase
,-u
(Großschreibung einschließen)--lowercase
,-l
(Kleinschreibung einschließen)--number
,-n
(Ziffern einschließen)--special
,-s
(Sonderzeichen einschließen)--length <length>
(Passwortlänge, mindestens 5 Zeichen)
generate für Passphrasen
Mit dem Befehl generate
und der Option --passphrase
können Sie eine Passphrase anstelle eines Passworts generieren:
bw generate --passphrase --words <words> --separator <separator>
Standardmäßig generiert bw generate --passphrase
eine Passphrase aus drei Wörtern, die durch einen Bindestrich (-) getrennt sind. Dies ist das Äquivalent zur Angabe von:
bw generate --passphrase --words 3 --separator -
Sie können eine komplexe Passphrase erzeugen, indem Sie die für den Befehl verfügbaren Optionen verwenden, einschließlich:
--words <words>
(Anzahl der Wörter)--separator <separator>
(Zeichen, dass die Wörter voneinander trennt)--capitalize
,-c
(Passphrase wird jeweils großgeschrieben)--includeNumber
(ergänzt eine Zahl in der Passphrase)
Der update
-Befehl prüft, ob Ihre Bitwarden-Kommandozeile auf der neuesten Version läuft. Der Befehl update
aktualisiert die Kommandozeile nicht automatisch für Sie.
bw update
Wenn eine neue Version erkannt wird, müssen Sie die neue Version der Kommandozeile herunterladen, indem Sie die ausgegebene URL für die ausführbare Datei verwenden oder die Werkzeuge des Paketmanagers nutzen, den Sie zum Herunterladen der Kommandozeile verwendet haben (beispielsweise npm install -g @bitwarden/cli
).
Der Befehl status
gibt Statusinformationen über die Bitwarden-Kommandozeile aus, einschließlich der konfigurierten Server-URL, des Zeitstempels für die letzte Synchronisierung (ISO 8601), der E-Mail-Adresse und ID des Benutzers sowie des Tresorstatus.
bw status
Der Befehl status
gibt Informationen als JSON-Objekt aus, zum Beispiel:
{
"serverUrl": "https://bitwarden.example.com",
"lastSync": "2020-06-16T06:33:51.419Z",
"userEmail": "user@example.com",
"userId": "00000000-0000-0000-0000-000000000000",
"status": "unlocked"
}
Der Status kann einer der folgenden sein:
"unlocked"
, was bedeutet, dass Sie angemeldet sind und Ihr Tresor nicht gesperrt ist (eine UmgebungsvariableBW_SESSION
wird mit einem aktiven Sitzungsschlüssel gespeichert)"locked"
, was bedeutet, dass Sie angemeldet sind, aber Ihr Tresor ist gesperrt (es ist keine UmgebungsvariableBW_SESSION
mit einem aktiven Sitzungsschlüssel gespeichert)"unauthenticated"
, was bedeutet, dass Sie nicht angemeldet sind
Tipp
Wenn gilt "status": "unauthenticated"
, geben lastSync
, userEmail
und userID
immer null
aus.
Mit dem Befehl serve
wird ein lokaler Express-Webserver gestartet, der dazu verwendet werden kann, alle von der Kommandozeile aus zugänglichen Aktionen in Form von RESTful-API-Aufrufen über eine HTTP-Schnittstelle auszuführen.
bw serve --port <port> --hostname <hostname>
Standardmäßig startet serve
den Webserver an Port 8087, Sie können jedoch mit der Option --port
einen alternativen Port angeben.
Standardmäßig bindet serve
Ihren API-Webserver an localhost
. Sie können jedoch mit der Option --hostname
einen anderen Host-Namen angeben. API-Anfragen können nur von dem gebundenen Host-Namen gestellt werden.
Standardmäßig blockiert serve
jede Anfrage mit einem Origin-Header. Sie können diesen Schutz mit der Option --disable-origin-protection
umgehen, dies wird jedoch nicht empfohlen.
Sehen Sie sich die API-Spezifikationen an, m Hilfe bei Aufrufen mit serve
zu erhalten.
Die folgenden Optionen sind allgemein verfügbar:
Option | Beschreibung |
---|---|
| Ausgabe formatieren. JSON ist mit zwei Leerzeichen versehen. |
| Gibt die Rohausgabe anstelle einer beschreibenden Nachricht aus. |
| Gibt eine JSON-formatierte Version der Antwortausgabe aus. |
| Gibt nichts als Standardausgabe aus. |
| Keine Aufforderung zur interaktiven Benutzereingabe. |
| Gibt den Sitzungsschlüssel an, anstatt aus einer Umgebungsvariablen zu lesen. |
| Gibt die Versionsnummer der Bitwarden-Kommandozeile aus. |
| Anzeige des Hilfetextes für den jeweiligen Befehl. |
Das Bitwarden-Kommandozeile unterstützt die ZSH-Shell-Vervollständigung. Um die Shell-Vervollständigung einzurichten, verwenden Sie eine der folgenden Methoden:
Vanilla ZSH: Fügen Sie die folgende Zeile in Ihre
.zshrc
-Datei ein:eval "$(bw completion --shell zsh); compdef _bw bw;"
Vanilla (vendor-completions): Führen Sie den folgenden Befehl aus:
bw completion --shell zsh | sudo tee /usr/share/zsh/vendor-completions/_bw
zinit: Führen Sie die folgenden Befehle aus:
bw completion --shell zsh > ~/.local/share/zsh/completions/_bw zinit creinstall ~/.local/share/zsh/completions
Wenn Ihr selbstgehosteter Bitwarden-Server ein selbstsigniertes TLS-Zertifikat ausstellt, geben Sie die Node.js-Umgebungsvariable NODE_EXTRA_CA_CERTS an:
Bash
export NODE_EXTRA_CA_CERTS="absolute/path/to/your/certificates.pem"
PowerShell
$env:NODE_EXTRA_CA_CERTS="absolute/path/to/your/certificates.pem"
In den folgenden Tabellen werden die in den dokumentierten Szenarien erforderlichen Werte aufgezählt:
Zweistufige Anmeldemethoden
Wird verwendet, um anzugeben, welche zweistufige Anmeldemethode bei der Anmeldung verwendet werden soll:
Name | Wert |
---|---|
Authenticator-App | 0 |
1 | |
YubiKey | 3 |
Hinweis
FIDO2 und Duo werden nicht von der Kommandozeile unterstützt.
Objekttypen
Wird mit dem Befehl create
verwendet, um einen Tresor-Objekttyp anzugeben:
Name | Wert |
---|---|
Zugangsdaten | 1 |
Sichere Notiz | 2 |
Karte | 3 |
Identität | 4 |
Arten der URI-Übereinstimmung bei der Anmeldung
Wird mit den Befehlen create
und edit
verwendet, um das Verhalten der URI-Übereinstimmungserkennung für ein Login-Element festzulegen:
Name | Wert |
---|---|
Domäne | 0 |
Host | 1 |
Beginnt mit | 2 |
Exakt | 3 |
Regulärer Ausdruck | 4 |
Nie | 5 |
Feldtypen
Wird mit den Befehlen create
und edit
verwendet, um benutzerdefinierte Felder zu konfigurieren:
Name | Wert |
---|---|
Text | 0 |
Versteckt | 1 |
Boolean | 2 |
Benutzertypen in einer Organisation
Gibt den Benutzertyp an:
Name | Wert |
---|---|
Besitzer | 0 |
Administrator | 1 |
Benutzer | 2 |
Manager | 3 |
Benutzerstatus in einer Organisation
Gibt den Status eines Benutzers innerhalb einer Organisation an:
Name | Wert |
---|---|
Eingeladen | 0 |
Angenommen | 1 |
Bestätigt | 2 |