summaryrefslogtreecommitdiff
path: root/README
blob: 7dc8a4096ee0d4772bd8e87d49bd6b0d5a63cb61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
======================
Simple Password Store
by Jason Donenfeld
   Jason@zx2c4.com
======================

This is a very simple password store that encrypts passwords using gpg and
places the encrypted password in a directory. It can generate new passwords
and keep track of old ones.

If the password storage directory ($HOME/.password-store) is also a git
repository, add/remove/change operations will create a corresponding git
commit.

Usage:
    pass init gpg-id
        Initialize new password storage and use gpg-id for encryption.
    pass [ls] [subfolder]
        List passwords.
    pass [show] [--clip,-c] pass-name
        Show existing password and optionally put it on the clipboard.
        If put on the clipboard, it will be cleared in 45 seconds.
    pass insert [--multiline,-m] pass-name
        Insert new optionally multiline password.
    pass generate [--no-symbols,-n] [--clip,-c] pass-name pass-length
        Generate a new password of pass-length with optionally no symbols.
        Optionally put it on the clipboard and clear board after 45 seconds.
    pass remove pass-name
        Remove existing password.
    pass push
        If the password store is a git repository, push the latest changes.
    pass pull
        If the password store is a git repository, pull the latest changes.
    pass git git-command-args...
        If the password store is a git repository, execute a git command
	specified by git-command-args.
    pass help
        Show this text.

Examples:

    - Initialize password store:
    
        zx2c4@laptop ~ $ pass init Jason@zx2c4.com
        mkdir: created directory ‘/home/zx2c4/.password-store’
        Password store initialized for Jason@zx2c4.com.
    
    - List existing passwords in store:

        zx2c4@laptop ~ $ pass
        ├── Business
        │   ├── some-silly-business-site.com
        │   └── another-business-site.net
        ├── Email
        │   ├── donenfeld.com
        │   └── zx2c4.com
        └── France
            ├── bank
            ├── freebox
            └── mobilephone
        
        Alternatively, "pass ls".

    - Show existing password:

        zx2c4@laptop ~ $ pass Email/zx2c4.com
	sup3rh4x3rizmynam3
    
    - Add password to store:

        zx2c4@laptop ~ $ pass insert Business/cheese-whiz-factory
        Enter password for Business/cheese-whiz-factory: omg so much cheese what am i gonna do

        Or, multiline passwords:

        zx2c4@laptop ~ $ pass insert --multiline Business/cheese-whiz-factory
        Enter contents of Business/cheese-whiz-factory and press Ctrl+D when finished:

        Hey this is my 
        awesome
        multi
        line
        passworrrrrrrrd.
        ^D

    - Generate new password:

        zx2c4@laptop ~ $ pass generate Email/jasondonenfeld.com 15
        The generated password to Email/jasondonenfeld.com is:
        $(-QF&Q=IN2nFBx

        Or, with no symbols:

        zx2c4@laptop ~ $ pass generate --no-symbols Email/jasondonenfeld.com 12
        The generated password to Email/jasondonenfeld.com is:
        YqFsMkBeO6di

    - Remove password from store:

        zx2c4@laptop ~ $ pass remove Business/cheese-whiz-factory
        rm: remove regular file ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’? y
        removed ‘/home/zx2c4/.password-store/Business/cheese-whiz-factory.gpg’