mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
fix(bitwarden-cli): improve commands examples and readability
This commit is contained in:
156
knowledge base/bitwarden cli.md
Normal file
156
knowledge base/bitwarden cli.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# Bitwarden Password Manager CLI
|
||||
|
||||
CLI to access and manage Bitwarden Password Managers' vaults.
|
||||
|
||||
## TL;DR
|
||||
|
||||
```sh
|
||||
# Install on OS X.
|
||||
brew install 'bitwarden-cli'
|
||||
|
||||
# Generate shell completion.
|
||||
# Only ZSH is supported at the time of writing.
|
||||
bw completion --shell 'zsh'
|
||||
|
||||
# Get help on a command.
|
||||
bw --help
|
||||
bw 'command' --help
|
||||
bw help 'command'
|
||||
|
||||
# Check you are logged in.
|
||||
bw login --check
|
||||
|
||||
# Return the session key.
|
||||
bw login --raw
|
||||
|
||||
# Login.
|
||||
bw login
|
||||
bw login 'user_email' 'master_password' --method '1' --code '249213'
|
||||
bw login 'user_email' --passwordenv 'BW_MASTER_PASSWORD'
|
||||
bw login --passwordfile 'path/to/file.txt'
|
||||
BW_CLIENTID="API key's client_id" BW_CLIENTSECRET="API key's client_secret" bw login --apikey
|
||||
bw login --sso
|
||||
|
||||
# Unlock the vault.
|
||||
export BW_SESSION='session_key'
|
||||
bw unlock 'master_password'
|
||||
bw unlock --passwordenv 'BW_PASSWORD'
|
||||
bw unlock --passwordfile 'path/to/mater/password.txt'
|
||||
|
||||
# Lock the vault.
|
||||
bw lock
|
||||
|
||||
# Sync.
|
||||
bw sync
|
||||
bw sync -f
|
||||
|
||||
# Get last sync's timestamp.
|
||||
bw sync --last
|
||||
|
||||
# List entries.
|
||||
bw list items
|
||||
bw list items --session 'session_key'
|
||||
|
||||
# Display a specific entry.
|
||||
bw get item 'item_name_or_id'
|
||||
|
||||
# Search and display entries.
|
||||
bw list items --search 'github'
|
||||
|
||||
# Get only an attribute of an entry.
|
||||
bw get password 'https://google.com'
|
||||
bw get totp 'google.com'
|
||||
bw get notes 'google.com'
|
||||
bw get exposed 'yahoo.com'
|
||||
bw get attachment 'b857igwl1dzrs2' --itemid 'entry_id' --output './photo.jpg'
|
||||
bw get attachment 'photo.jpg' --itemid 'entry_id' --raw
|
||||
bw get folder 'email'
|
||||
bw get template 'folder'
|
||||
|
||||
# Create an entry.
|
||||
# Must be a base64-encoded valid JSON object.
|
||||
bw create item 'eyJuYW1lIjogIkl0ZW0gTmFtZSJ9Cg=='
|
||||
echo '{"name": "Item Name"}' | bw encode | bw create item
|
||||
echo -n '{"name": "Item Name"}' | base64 | bw create item
|
||||
bw get template item \
|
||||
| jq --argjson 'LOGIN' "$(bw get template item.login | jq '.username="jdoe" | .password="myp@ssword123"')" \
|
||||
'.name="New Login Item" | .login=$LOGIN' \
|
||||
| bw encode | bw create item
|
||||
|
||||
# Attach a file to an existing entry.
|
||||
bw create attachment --file './myfile.csv' --itemid 'entry_id'
|
||||
|
||||
# Edit an entry.
|
||||
echo '{"name": "New Item Name"}' | bw encode | bw edit folder
|
||||
bw edit folder 'folder_id' 'eyJuYW1lIjogIk5ldyBJdGVtIE5hbWUifQo='
|
||||
|
||||
# Delete an entry.
|
||||
bw delete item 'entry_id'
|
||||
|
||||
# Create a folder.
|
||||
bw create folder 'eyJuYW1lIjoiTXkgRm9sZGVyMiJ9Cg=='
|
||||
echo '{"name": "Folder Name"}' | bw encode | bw create folder
|
||||
echo -n '{"name": "Folder Name"}' | base64 | bw create folder
|
||||
|
||||
# Edit a folder.
|
||||
echo '{"name": "New Name"}' | bw encode | bw edit folder
|
||||
bw edit folder 'folder_id' 'eyJuYW1lIjogIk5ldyBOYW1lIn0K'
|
||||
|
||||
# Import data from a file.
|
||||
bw import 'bitwardencsv' './from/source.csv'
|
||||
bw import 'keepass2xml' 'keepass_backup.xml'
|
||||
bw import --organizationid 'organization_id' 'keepass2xml' 'keepass_backup.xml'
|
||||
|
||||
# List import files' formats.
|
||||
bw import --formats
|
||||
|
||||
# Export data to a CSV or JSON file.
|
||||
bw export
|
||||
bw export 'master_password'
|
||||
bw export 'master_password' --format 'json'
|
||||
bw export --output './exp/bw.csv'
|
||||
bw export 'master_password' --output 'bw.json' --format 'json'
|
||||
bw export 'master_password' --organizationid 'organization_id'
|
||||
|
||||
# Export data to STDOUT.
|
||||
bw --raw export
|
||||
|
||||
# Send something.
|
||||
bw send -f './file.ext'
|
||||
bw send 'text_to_send'
|
||||
echo 'text to send' | bw send
|
||||
|
||||
# Receive something sent.
|
||||
bw receive 'https://vault.bitwarden.com/#/send/rg3iuoS_Akm2gqy6ADRHmg/Ht7dYjsqjmgqUM3rjzZDSQ'
|
||||
|
||||
# Configure the server to use.
|
||||
bw config server
|
||||
bw config server 'https://bw.company.com'
|
||||
bw config server 'bitwarden.com'
|
||||
bw config server --api 'http://localhost:4000' --identity 'http://localhost:33656'
|
||||
|
||||
# Generate a password or passphrase.
|
||||
bw generate
|
||||
bw generate -u -l --length '18'
|
||||
bw generate -ulns --length '25'
|
||||
bw generate -ul
|
||||
bw generate -p --separator '_'
|
||||
bw generate -p --words '5' --separator 'space'
|
||||
|
||||
# Logout.
|
||||
bw logout
|
||||
```
|
||||
|
||||
## Sources
|
||||
|
||||
- [Password Manager CLI]
|
||||
- [cheat.sh]
|
||||
|
||||
<!--
|
||||
Reference
|
||||
═╬═Time══
|
||||
-->
|
||||
|
||||
<!-- Others -->
|
||||
[cheat.sh]: https://cheat.sh/bw
|
||||
[Password Manager CLI]: https://bitwarden.com/help/cli/
|
||||
Reference in New Issue
Block a user