Password

基于命令行的密码管理(pass)

安装

sudo apt install pass

配置gpg

由于pass是基于gpg进行加密和解密的,因此需要配置gpg生成私钥和公钥

或者 gpg --gen-key
gpg --full-generate-key

gpg分享密钥

显示已有的密钥
gpg --list-secret-keys
方法一:导出密钥与导入密钥
gpg --export-secret-key <gpg_id> > <file_name.asc>
gpg --import <file_name.asc>
方法二:利用ssh+管道操作直接一步到位(完成导出与导入)
pg --export-secret-key -a | ssh helios@10.23.21.164 gpg --import -

常用命令行

  • 显示已存储的密码名(pass_name)、当前密码

pass
显示密码
pass <pass_name>
将密码拷贝到粘贴板
pass -c <pass_name>

image-20210909125637720

提示

<pass_name>与目录树有对应关系

  • 加、修、删密码

进行前需要先初始化
添加密码
psss insert <pass_name>
修改密码
pass edit <pass_name>
删除密码
pass rm <pass_name>

初始化pass

存储和读取任何密码都需要进行初始化,以使能gpg进行加密和解密

gpg-id为创建gpg时的用户名
pass init <gpg-id or email>

备注

密码名可以带斜杠 /

image-20210909125220221

注意

不需要使用sudo权限

远程仓同步

推送到远程仓
pass git init
pass git remote add origin <github_remote_repository_url>
pass git push <-f>
拉取到本地
git clone <github_remote_repository_url> ~/.password-store

备注

这种比git命令行多了个pass的优势在于可以不用cd到对应文件夹就能进行git操作;另外每次的编辑操作pass都会自动生成一个commit

gpg

  • seahorse(管理密钥的可视化程序)

image-20220124222044526

查看密钥

查看公钥
gpg --list-key
查看私钥
gpg --list-secret-keys

gpg对文件解码

gpg -p <file.gpg>

备注

文件需以gpg为后缀,其中内容类似

image-20220125003811163

设置命令行界面免密码登录