Pass-命令基本使用

ArchWiki 相关页面
Pass 官方页面

介绍

pass 是一个简单的命令行密码管理器, 它将密码存储在 GPG 加密的文件中, 并按目录结构组织.

pass 同时会使用 Git 进行版本控制和备份.

所有的密码文件会存储在 ~/.password-store 目录下, 文件名为 the title of website or resource. 如:

1
2
3
4
5
6
# .password-store tree
.
├── 1043752169@qq.com.gpg
├── 2021190505019@stu.uestc.edu.cn.gpg
├── 2694783083@qq.com.gpg
└── 2720876z@student.gla.ac.uk.gpg

安装

在 Archlinux 上为:

1
sudo pacman -S pass

基本使用

初始化密码库

1
pass init "Your GPG ID or Email"

如:

1
pass init "jie"

或:

1
pass init "2694783083@qq.com"

插入新密码

1
pass insert qq/1043752169

此时会创建 ~/.password-store/qq 目录, 输入密码后, 会将加密后的密码存储在 qq/1043752169.gpg 文件.

显示密码

1
pass Email/Google

之后 pinentry 会运行, 要求输入 gpg secret key 才能查看:

之后便能得到密码输出.

将密码复制到 clipboard

1
pass -c Email/zx2c4.com

注意前提是要有 clipper, 不然会有:

1
Error: No X11 or Wayland display and clipper detected

的报错.

生成新密码

1
pass generate Social/Twitter 16

这里的数字是密码长度.

如:

1
2
3
4
[root@pxe .password-store]# pass generate test/haha 16
mkdir: created directory '/root/.password-store/test'
The generated password for test/haha is:
E{[uh3>hu?s8|,vU

之后会创建 ~/.password-store/test/ 目录, 并将加密的密码存入 haha.gpg 中.

删除密码

1
pass rm Social/Twitter

移除成功删除 ~/.password-store/Social/Twitter.gpg 文件:

1
2
Are you sure you would like to delete Social/Twitter? [y/N] y
removed '/root/.password-store/Social/Twitter.gpg'

列出所有密码

1
pass

版本管理

初始化

1
pass git init

需要先把 git 的基本信息配置好, 运行:

1
2
git config --global user.email "you@example.com"
git config --global user.name "Your Name"

或者直接修改 ~/.gitconfig 文件:

1
2
3
[user]
name = Jie Orkarin
email = 2694783083@qq.com

此时再初始化, 则会对当前密码进行提交:

1
2
3
4
5
6
7
[root@pxe ~]# pass git init
Reinitialized existing Git repository in /root/.password-store/.git/
[master (root-commit) 0ab47e8] Add current contents of password store.
3 files changed, 2 insertions(+)
create mode 100644 .gitattributes
create mode 100644 .gpg-id
create mode 100644 qq/1043752169.gpg

之后的操作就和普通的 git 一致了.


Pass-命令基本使用
http://example.com/2024/05/13/Pass-命令基本使用/
作者
Jie
发布于
2024年5月13日
许可协议