Giter Club home page Giter Club logo

bitwarden-ssh-agent's Introduction

Bitwarden SSH Agent

Requirements

  • You need to have the Bitwarden CLI tool installed and available in the $PATH as bw. See below for detailed instructions.
  • ssh-agent must be running in the current session.

Installation

Just save the file bw_add_sshkeys.py in a folder where it can by found when calling it from the command line. On linux you can see these folders by running echo $PATH from the command line. To install for a single user, you can - for example - save the script under ~/.local/bin/ and make it executable by running chmod +x ~/.local/bin/bw_add_sshkeys.py.

What does it do?

Fetches SSH keys stored in Bitwarden vault and adds them to ssh-agent.

How to use it

  1. Run,
    ./bw_add_sshkeys.py
  2. Enter your Bitwarden credentials, if a Bitwarden vault session is not already set.
  3. (optional) Enter your SSH keys' passphrases if they're not stored in your Bitwarden.

Storing the keys in BitWarden

  1. Create a folder called ssh-agent (can be overridden on the command line).
  2. Add an new secure note to that folder.
  3. Upload the private key as an attachment.
  4. Add the custom field private (can be overridden on the command line), containing the file name of the private key attachment.
  5. (optional) If your key is encrypted with passphrase and you want it to decrypt automatically, save passphrase into custom field passphrase (field name can be overriden on the command line). You can create this field as hidden if you don't want the passphrase be displayed by default.
  6. Repeat steps 2-5 for each subsequent key

Command line overrides

  • --debug/-d - Show debug output
  • --foldername/-f - Folder name to use to search for SSH keys (default: ssh-agent)
  • --customfield/-c - Custom field name where private key filename is stored (default: private)
  • --passphrasefield/-p - Custom field name where passphrase for the key is stored (default: passphrase)
  • --session/-s - session key of bitwarden

Setting up the Bitwarden CLI tool

Download the Bitwarden CLI, extract the binary from the zip file, make it executable and add it to your path so that it can be found on the command line.

On linux you will likely want to move the executable to ~/.local/bin and make it executable chmod +x ~/.local/bin/bw. ~/.local/bin is likely already set as a path. You can confirm that by running which bw, which should return the path to the executable. You can use the same approach to turn bw_add_sshkeys.py into an executable.

If you want to build the Bitwarden CLI by yourself, see these instructions on the bitwarden github page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.