pass:一款簡單的基于Linux命令行的密碼管理工具
現(xiàn)如今要記住類似 email、銀行、社交媒體、在線支付、ftp 等等這么多的密碼相信對每一個人來說都是一個巨大的挑戰(zhàn)。
由于需求和使用,密碼管理器現(xiàn)如今變得非常的流行。在 Linux 中我們可以有很多選擇,包括基于 GUI 和基于 CLI 兩種。今天我們要講的是一款基于 CLI 的密碼管理器叫做 pass 。
pass 是 Linux 上的一個簡單的命令行密碼管理器,它將密碼存儲在一個 gpg 加密后的文件里。這些加密后的文件很好地組織按目錄結(jié)構(gòu)存放。
所有密碼都存在于 ~/.password-store 中,它提供了添加、編輯、生成和檢索密碼等簡單命令。
它是一個非常簡短和簡單的 shell 腳本。 它能夠臨時將密碼放在剪貼板上,并使用 git 跟蹤密碼的修改。
這是一個很小的 shell 腳本,它還使用了少量的默認工具比如 gnupg、tree 和 git,同時還有活躍的社區(qū)為它提供 GUI 和擴展。
如何在 Linux 中安裝 Pass
Pass 可從大多數(shù) Linux 的主要發(fā)行版的倉庫中獲得。 所以,你可以使用你的分布式包管理器來安裝它。
對于基于 Debian 的系統(tǒng),你可以使用 apt-get 或 apt 包管理器命令來安裝 pass。
- $ sudo apt-get install pass
對于基于 RHEL/CentOS 的操作系統(tǒng), 使用 yum 包管理器命令來安裝它。
- $ sudo yum install pass
Fedora 系統(tǒng)可用 dnf 包管理器命令來安裝。
- $ sudo dnf install pass
openSUSE 系統(tǒng)可以用 zypper 包管理器命令來安裝。
- $ sudo zypper in password-store
對于基于 Arch Linux 的操作系統(tǒng)用 pacman 包管理器來安裝它。
- $ pacman -S pass
如何生成 GPG 密鑰對
確保你擁有你個人的 GPG 密鑰對。如果沒有的話,你可以通過在終端中輸入以下的命令并安裝指導(dǎo)來創(chuàng)建你的 GPG 密鑰對。
- $ gpg --gen-key
運行以上的命令以生成 GPG 密鑰對時會有一系列的問題詢問,謹慎輸入問題的答案,其中有一些只要使用默認值即可。
初始化密碼存儲
如果你已經(jīng)有了 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 目錄下創(chuàng)建一個密碼存儲區(qū)。
pass 命令提供了簡單的語法來管理密碼。 我們一個個來看,如何添加、編輯、生成和檢索密碼。
通過下面的命令檢查目錄結(jié)構(gòu)樹。
- $ pass
- or
- $ pass ls
- or
- $ pass show
- Password Store
我沒有看到任何樹型結(jié)構(gòu),所以我們將根據(jù)我們的需求來創(chuàng)建一個。
插入一個新的密碼信息
我們將通過運行以下命令來保存 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:
執(zhí)行重復(fù)操作,直到所有的密碼插入完成。 比如保存 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:
我們可以列出存儲中的所有現(xiàn)有的密碼。
- $ pass show
- Password Store
- ├── 2g
- ├── Bank
- │ ├── 2daygeek@gmail.com
- │ └── magesh.maruthamuthu@gmail.com
- ├── Social
- │ ├── Facebook_2daygeek
- │ └── Gplus_2daygeek
- ├── Social
- └── Sudha
- └── sudha21.magesh@gmail.com
顯示已有密碼
運行以下命令從密碼存儲中檢索密碼信息,它會詢問你輸入密碼以解鎖。
- $ pass eMail/2daygeek@gmail.com
- *******
在剪貼板中復(fù)制密碼
要直接將密碼直接復(fù)制到剪貼板上,而不是在終端上輸入,請使用以下更安全的命令,它會在 45 秒后自動清除密碼。
- $ pass -c eMail/magesh.maruthamuthu@gmail.com
- Copied eMail/magesh.maruthamuthu@gmail.com to clipboard. Will clear in 45 seconds.
生成一個新密碼
如果你想生成一些比較難以猜測的密碼用于代替原有的奇怪密碼,可以通過其內(nèi)部的 pwgen 功能來實現(xiàn)。
- $ 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
編輯現(xiàn)有的密碼
使用編輯器插入新密碼或編輯現(xiàn)有密碼。 當(dāng)你運行下面的命令時,將會在包含密碼的文本編輯器中打開文件 /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
移除密碼
刪除現(xiàn)有密碼。 它將從 ~/.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、用戶名、密碼、引腳等信息,可以使用以下格式。 首先確保你要將***項設(shè)置為密碼,因為它用于在使用剪貼板選項時將***行復(fù)制為密碼,以及后續(xù)行中的附加信息。
- $ 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)