wiki/pages/pass.md

113 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
title: pass, the CLI Password Manager
author: erxeto
description: Usage guide for pass
-->
# pass, the CLI Password Manager
`pass` is a command line utility to manage your passwords.
It creates a simple file/folder structure under your `$PASSWORD_STORE_DIR`
(by default `~/.password-store`) where every file is encrypted with your
gpg key.
You can organize that hierarchy as you see fit. For instance something like
`sites/tilde.news/myusername` is a common way of doing it.
Those files are not limited to contain simply a password, they can contain
anything. But is recommended that the password goes alone in the first
line, so you can benefit from the `-c` option which copies that to the
clipboard directly.
There is `bash`, `zsh` and `fish` command line completion available and
all can be tracked using `git`. So it's really convenient.
## Setup
This is simple, just one command (assuming you have your GnuPG key
ready). GPG-ID is the hex id of your key.
```
$ pass init GPG-ID
mkdir: created directory /home/user/.password-store
Password store initialized for GPG-ID
```
## Basic Usage
List all passwords "tree" style
```
$ pass Password Store
├── sites
│ ├── tilde.zone
│ │ ├── myUserName
│ │ ├── secondAccount ...
```
Find a password
```
$ pass find tilde.zone
Search Terms: tilde.zone
└── sites
└── tilde.zone
└── myUserName@tilde.zone
```
See the content of a file
```
$ pass email/tilde.institute/myAccount
supersecret
```
Copy the first line to the clipboard. Clear time can be configured with
`$PASSWORD_STORE_CLIP_TIME`
```
$ pass -c email/tilde.institute/myAccount
Copied email/tilde.institute/myAccount to clipboard.
Will clear in 45 seconds.
```
Insert a new password. It can be multiline with `-m`. Remember to put the
password on the first line if you want to use the clipboard function
```
$ pass insert sites/foo.com/blah
Enter password for sites/foo.com/blah:
```
Generate a 32 chars random password and store it. You can define the
default length with `$PASSWORD_STORE_GENERATED_LENGTH`. With `-n` the
password will not include symbols, but alphanumeric characters only. With
`-c` it gets copied to the clipboard as usual.
```
$ pass generate sites/foo.com/abcd 32
The generated password to sites/foo.com/abcd is:
$(-QF&Q=IN2nFBx)
```
take a look at the `--help` option or the complete documentation on
their website.
## Changing Keys
If you need to change the key being used for your password files,
simply navigate to the directory and re-issue `pass init`, but with
the ID of the new key to be used. Pass will prompt for the old key's
password, then automatically decrypt all keys and re-encrypt them
with the new key.
```
$ cd ~/.password-store
$ pass init NEWGPGKEYID
```
references:
* [pass home page](https://passwordstore.org)
[back](/)