pass:一款簡單的基於 Linux 命令行的密碼管理工具
現如今要記住類似 email、銀行、社交媒體、在線支付、ftp 等等這麼多的密碼相信對每一個人來說都是一個巨大的挑戰。
由於需求和使用,密碼管理器現如今變得非常的流行。在 Linux 中我們可以有很多選擇,包括基於 GUI 和基於 CLI 兩種。今天我們要講的是一款基於 CLI 的密碼管理器叫做 pass 。
pass 是 Linux 上的一個簡單的命令行密碼管理器,它將密碼存儲在一個 gpg
加密後的文件里。這些加密後的文件很好地組織按目錄結構存放。
所有密碼都存在於 ~/.password-store
中,它提供了添加、編輯、生成和檢索密碼等簡單命令。
它是一個非常簡短和簡單的 shell 腳本。 它能夠臨時將密碼放在剪貼板上,並使用 git
跟蹤密碼的修改。
這是一個很小的 shell 腳本,它還使用了少量的默認工具比如 gnupg
、tree
和 git
,同時還有活躍的社區為它提供 GUI 和擴展。
如何在 Linux 中安裝 Pass
Pass 可從大多數 Linux 的主要發行版的倉庫中獲得。 所以,你可以使用你的分散式包管理器來安裝它。
對於基於 Debian 的系統,你可以使用 apt-get 或 apt 包管理器命令來安裝 pass。
$ sudo apt-get install pass
對於基於 RHEL/CentOS 的操作系統, 使用 yum 包管理器命令來安裝它。
$ sudo yum install pass
Fedora 系統可用 dnf 包管理器命令來安裝。
$ sudo dnf install pass
openSUSE 系統可以用 zypper 包管理器命令來安裝。
$ sudo zypper in password-store
對於基於 Arch Linux 的操作系統用 pacman 包管理器來安裝它。
$ pacman -S pass
如何生成 GPG 密鑰對
確保你擁有你個人的 GPG 密鑰對。如果沒有的話,你可以通過在終端中輸入以下的命令並安裝指導來創建你的 GPG 密鑰對。
$ gpg --gen-key
運行以上的命令以生成 GPG 密鑰對時會有一系列的問題詢問,謹慎輸入問題的答案,其中有一些只要使用默認值即可。
初始化密碼存儲
如果你已經有了 GPG 密鑰對,請通過運行以下命令初始化本地密碼存儲,你可以使用 email-id 或 gpg-id 初始化。
$ pass init 2daygeek@gmail.com
mkdir: created directory '/home/magi/.password-store/'
Password store initialized for 2daygeek@gmail.com
上述命令將在 ~/.password-store
目錄下創建一個密碼存儲區。
pass
命令提供了簡單的語法來管理密碼。 我們一個個來看,如何添加、編輯、生成和檢索密碼。
通過下面的命令檢查目錄結構樹。
$ pass
or
$ pass ls
or
$ pass show
Password Store
我沒有看到任何樹型結構,所以我們將根據我們的需求來創建一個。
插入一個新的密碼信息
我們將通過運行以下命令來保存 gmail 的 id 及其密碼。
$ pass insert eMail/2daygeek@gmail.com
mkdir: created directory '/home/magi/.password-store/eMail'
Enter password for eMail/2daygeek@gmail.com:
Retype password for eMail/2daygeek@gmail.com:
執行重複操作,直到所有的密碼插入完成。 比如保存 Facebook 密碼。
$ pass insert Social/Facebook_2daygeek
mkdir: created directory '/home/magi/.password-store/Social'
Enter password for Social/Facebook_2daygeek:
Retype password for Social/Facebook_2daygeek:
我們可以列出存儲中的所有現有的密碼。
$ pass show
Password Store
├── 2g
├── Bank
├── eMail
│ ├── 2daygeek@gmail.com
│ └── magesh.maruthamuthu@gmail.com
├── eMail
├── Social
│ ├── Facebook_2daygeek
│ └── Gplus_2daygeek
├── Social
└── Sudha
└── sudha21.magesh@gmail.com
顯示已有密碼
運行以下命令從密碼存儲中檢索密碼信息,它會詢問你輸入密碼以解鎖。
$ pass eMail/2daygeek@gmail.com
*******
在剪貼板中複製密碼
要直接將密碼直接複製到剪貼板上,而不是在終端上輸入,請使用以下更安全的命令,它會在 45 秒後自動清除密碼。
$ pass -c eMail/magesh.maruthamuthu@gmail.com
Copied eMail/magesh.maruthamuthu@gmail.com to clipboard. Will clear in 45 seconds.
生成一個新密碼
如果你想生成一些比較難以猜測的密碼用於代替原有的奇怪密碼,可以通過其內部的 pwgen
功能來實現。
$ pass generate eMail/2daygeek@gmail.com 15
An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y
The generated password for eMail/2daygeek@gmail.com is:
y!NZ<%T)5Iwym_S
生成沒有符號的密碼。
$ pass generate eMail/2daygeek@gmail.com 15 -n
An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y
The generated password for eMail/2daygeek@gmail.com is:
TP9ACLyzUZUwBwO
編輯現有的密碼
使用編輯器插入新密碼或編輯現有密碼。 當你運行下面的命令時,將會在包含密碼的文本編輯器中打開文件 /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt
。 只需在其中添加新密碼,然後保存並退出即可。
$ pass edit eMail/2daygeek@gmail.com
File: /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt
TP9ACLyzUZUwBwO
移除密碼
刪除現有密碼。 它將從 ~/.password-store
中刪除包含 .gpg
的條目。
$ pass rm eMail/2daygeek@gmail.com
Are you sure you would like to delete eMail/2daygeek@gmail.com? [y/N] y
removed '/home/magi/.password-store/eMail/2daygeek@gmail.com.gpg'
多選項功能
要保存詳細信息,如 URL、用戶名、密碼、引腳等信息,可以使用以下格式。 首先確保你要將第一項設置為密碼,因為它用於在使用剪貼板選項時將第一行複製為密碼,以及後續行中的附加信息。
$ pass insert eMail/2daygeek@gmail.com -m
Enter contents of eMail/2daygeek@gmail.com and press Ctrl+D when finished:
H3$%hbhYT
URL : http://www.2daygeek.com
Info : Linux Tips & Tricks
Ftp User : 2g
(題圖:Pixabay, CC0)
via: http://www.2daygeek.com/pass-command-line-password-manager-linux/
作者:2DAYGEEK 譯者:chenxinlong 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive