Passlane
A lightning-fast password manager for the command line
Features
- Generate passwords
- Place the generated password into the clipboard
- Save previously generated password from the clipboard
- Sync the generated password to OS specific keychains, including Mac's iCloud Keychain
- Import passwords from CSV files
Installation
- Download the latest release
- Unpack the archive
- Place the unarchived binary
passlane
to your $PATH - Enjoy!
Usage
(base) ➜ temp passlane -h
passlane 0.1.4
Anssi Piirainen <[email protected]>
A password manager for the command line. Syncs with the Keychain.
USAGE:
passlane [OPTIONS]
OPTIONS:
-c, --csv <CSV> Import credentials from a CSV file
-d, --delete <DELETE> Delete passwords by service. Use together with --keychain to
also delete from the keychain.
-g, --grep <GREP> Grep passwords by service
-h, --help Print help information
-k, --keychain Sync credentials to Keychain. Syncs all store credentials when
specified as the only option. When used together with --save, syncs
only the password in question
-m, --master-pwd Update master password
-s, --save Save the last generated password
-v, --verbose Verobose: show password values when grep option finds several matches
-V, --version Print version information
Generate a new password
- Sign up for a new service in the web browser
- Run
passlane
--> gnerates and saves a new password to the clipboard - Use the generated password from the clipboard
- After successful signup: Open terminal and run
passlane -s
to save the password
Using saved credentials
Later on, when logging in to foobar.com:
- Run
passlane -g foobard.com
--> copies foobar.com's password to clipboard. - Use the password from clipboard to login
$ passlane -g google.com
Please enter master password:
Found 9 matches:
+---+-----------------------------------------------------+------------------------------------+
| | Service | Username/email |
+==============================================================================================+
| 0 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected] |
|---+-----------------------------------------------------+------------------------------------|
| 1 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected] |
|---+-----------------------------------------------------+------------------------------------|
| 2 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected] |
|---+-----------------------------------------------------+------------------------------------|
| 3 | https://accounts.google.com/signin/v2/challenge/pwd | [email protected] |
|---+-----------------------------------------------------+------------------------------------|
To copy one of these passwords to clipboard, please enter a row number from the table above,
or press q to exit: 3
Password from index 3 copied to clipboard!
or alternatively
- Let MacOS propose the saved password. It knows it because Passlane also syncs to the keychain.
Syncing with the system Keychain
Passlane uses the keyring crate to sync credentials to the operating system's keychain. Syncing should work on Linux, iOS, macOS, and Windows.
Use option -s
together with -k
to save the last generated password to the Passlane storage file and to the keychain:
passlane -s -k
To sync all Passlane stored options to the keychain use the -k
option alone:
passlane -k
Migrating from 1Password, LastPass, Dashlane etc.
You can import credentials from a CSV file. With this approach, you can easily migrate from less elegant and often expensive commercial services.
First, make sure that the CSV file has a header line (1st line) with the following column titles:
- username
- password
- service
The service
field is the URL or name of the service. When importing from Dashlane, the only necessary preparation is to rename url
to service
.
To export the credentials to a CSV file and import the file into Passlane:
passlane --csv <path_to_csv_file>
Here are links to instructions for doing the CSV export:
TODO
-
[] online sync service?
-
[] web UI for the online service
-
delete passwords
-
show grep results in a table, copy password to clipboard by row index
-
if "Failed: Unable to retrieve value from clipboard" --> prompt for the password to be saved
-
import from CSV
-
separate CLI option to sync to keychain
-
possibility to show passwords when multiple search matches