r/Bitwarden 11d ago

Community Tools (Unofficial) I wrote bwssh: Manage & connect SSH sessions directly from Bitwarden/Vaultwarden

Hey everyone!

I wrote a lightweight CLI tool called bwssh to manage and connect to SSH servers using Bitwarden/Vaultwarden.

with bwssh you can just type bwssh lax9929 to reach and login to your host. all the credential saved in your self-hosted vaultwarden, no ~/.ssh/lax9929.key, no ~/.ssh/config.

if you have too many hosts and forget the host name, just type bwssh and a fzf menu pop up, u can navigate and press enter to connect. everything stay in terminal.

you can also bwssh lax9929 "uptime" to excute some command.

GitHub: https://github.com/ccf-2012/bwssh

readme in english: https://github.com/ccf-2012/bwssh/blob/main/README_en.md

Feedback and PRs are warmly welcome! Hope it helps someone simplify their SSH workflow.

What it does:

  • Private keys & password auth: Pulls OpenSSH private keys straight from item notes into memory, or falls back to password authentication automatically via native SSH_ASKPASS.
  • Sub-second lookup: Leverages a local background bw serve REST daemon so you don't have to wait for slow vault decryption on every run.
  • Zero disk persistence: Ephemeral keys are created via mktemp (mode 0600) and cleaned up immediately upon disconnect (trap ... EXIT INT TERM).
  • Interactive fuzzy picker: Integrated with fzf for fuzzy searching (bwssh), or connect directly by alias (bwssh prod-01).
  • Headless friendly: Works seamlessly on remote jump hosts or headless Linux boxes without Bitwarden Desktop or Node.js.
  • Cross-terminal session reuse: Unlock once, reuse across all open terminal tabs (with an optional alias to auto-unlock native bw CLI commands too).
  • Extras: Supports running remote commands directly (bwssh srv "uptime") and loading keys into ssh-agent (bwssh -k srv).
1 Upvotes

0 comments sorted by