使用pass密碼管理器管理你的密碼
目標(biāo)
學(xué)習(xí)在 Linux 上使用 pass 密碼管理器來管理你的密碼
條件
- 需要 root 權(quán)限來安裝需要的包
 
難度
簡單
約定
#- 執(zhí)行指定命令需要 root 權(quán)限,可以是直接使用 root 用戶來執(zhí)行或者使用sudo命令來執(zhí)行$- 使用普通的非特權(quán)用戶執(zhí)行指定命令
介紹
如果你有根據(jù)不同的意圖設(shè)置不同密碼的好習(xí)慣,你可能已經(jīng)感受到需要一個(gè)密碼管理器的必要性了。在 Linux 上有很多選擇,可以是專有軟件(如果你敢用的話)也可以是開源軟件。如果你跟我一樣喜歡簡潔的話,你可能會(huì)對 pass 感興趣。
***步
pass 作為一個(gè)密碼管理器,其實(shí)際上是一些你可能早已每天使用的、可信賴且實(shí)用的工具的一種封裝,比如 gpg 和 git 。雖然它也有圖形界面,但它專門設(shè)計(jì)能成在命令行下工作的:因此它也可以在 headless 機(jī)器上工作(LCTT 譯注:根據(jù) wikipedia 的說法,所謂 headless 是指沒有顯示器、鍵盤和鼠標(biāo)的機(jī)器,一般通過網(wǎng)絡(luò)鏈接來控制)。
安裝
pass 在主流的 Linux 發(fā)行版中都是可用的,你可以通過包管理器安裝:
Fedora
# dnf install pass
RHEL 和 CentOS
pass 不在官方倉庫中,但你可以從 epel 中獲取道它。要在 CentOS7 上啟用后面這個(gè)源,只需要執(zhí)行:
# yum install epel-release
然而在 Red Hat 企業(yè)版的 Linux 上,這個(gè)額外的源是不可用的;你需要從 EPEL 官方網(wǎng)站上下載它。
Debian 和 Ubuntu
# apt-get install pass
Arch Linux
# pacman -S pass
初始化密碼倉庫
安裝好 pass 后,就可以開始使用和配置它了。首先,由于 pass 依賴于 gpg 來對我們的密碼進(jìn)行加密并以安全的方式進(jìn)行存儲(chǔ),我們必須準(zhǔn)備好一個(gè) gpg 密鑰對。
首先我們要初始化密碼倉庫:這就是一個(gè)用來存放 gpg 加密后的密碼的目錄。默認(rèn)情況下它會(huì)在你的 $HOME 創(chuàng)建一個(gè)隱藏目錄,不過你也可以通過使用 PASSWORD_STORE_DIR 這一環(huán)境變量來指定另一個(gè)路徑。讓我們運(yùn)行:
$ pass init
然后 password-store 目錄就創(chuàng)建好了。現(xiàn)在,讓我們來存儲(chǔ)我們***個(gè)密碼:
$ pass edit mysite
這會(huì)打開默認(rèn)文本編輯器,我么只需要輸入密碼就可以了。輸入的內(nèi)容會(huì)用 gpg 加密并存儲(chǔ)為密碼倉庫目錄中的 mysite.gpg 文件。
pass 以目錄樹的形式存儲(chǔ)加密后的文件,也就是說我們可以在邏輯上將多個(gè)文件放在子目錄中以實(shí)現(xiàn)更好的組織形式,我們只需要在創(chuàng)建文件時(shí)指定存在哪個(gè)目錄下就行了,像這樣:
$ pass edit foo/bar
跟上面的命令一樣,它也會(huì)讓你輸入密碼,但是創(chuàng)建的文件是放在密碼倉庫目錄下的 foo 子目錄中的。要查看文件組織結(jié)構(gòu),只需要不帶任何參數(shù)運(yùn)行 pass 命令即可:
$ passPassword Store├── foo│ └── bar└── mysite
若想修改密碼,只需要重復(fù)創(chuàng)建密碼的操作就行了。
獲取密碼
有兩種方法可以獲取密碼:***種會(huì)顯示密碼到終端上,方法是運(yùn)行:
pass mysite
然而更好的方法是使用 -c 選項(xiàng)讓 pass 將密碼直接拷貝到剪切板上:
pass -c mysite
這種情況下剪切板中的內(nèi)容會(huì)在 45 秒后自動(dòng)清除。兩種方法都會(huì)要求你輸入 gpg 密碼。
生成密碼
pass 也可以為我們自動(dòng)生成(并自動(dòng)存儲(chǔ))安全密碼。假設(shè)我們想要生成一個(gè)由 15 個(gè)字符組成的密碼:包含字母,數(shù)字和特殊符號,其命令如下:
pass generate mysite 15
若希望密碼只包含字母和數(shù)字則可以是使用 --no-symbols 選項(xiàng)。生成的密碼會(huì)顯示在屏幕上。也可以通過 --clip 或 -c 選項(xiàng)讓 pass 把密碼直接拷貝到剪切板中。通過使用 -q 或 --qrcode 選項(xiàng)來生成二維碼:

qrcode
從上面的截屏中可看出,生成了一個(gè)二維碼,不過由于運(yùn)行該命令時(shí) mysite 的密碼已經(jīng)存在了,pass 會(huì)提示我們確認(rèn)是否要覆蓋原密碼。
pass 使用 /dev/urandom 設(shè)備作為(偽)隨機(jī)數(shù)據(jù)生成器來生成密碼,同時(shí)它使用 xclip 工具來將密碼拷貝到粘帖板中,而使用 qrencode 來將密碼以二維碼的形式顯示出來。在我看來,這種模塊化的設(shè)計(jì)正是它***的優(yōu)勢:它并不重復(fù)造輪子,而只是將常用的工具包裝起來完成任務(wù)。
你也可以使用 pass mv、pass cp 和 pass rm 來重命名、拷貝和刪除密碼倉庫中的文件。
將密碼倉庫變成 git 倉庫
pass 另一個(gè)很棒的功能就是可以將密碼倉庫當(dāng)成 git 倉庫來用:通過版本管理系統(tǒng)能讓我們管理密碼更方便。
pass git init
這會(huì)創(chuàng)建 git 倉庫,并自動(dòng)提交所有已存在的文件。下一步就是指定跟蹤的遠(yuǎn)程倉庫了:
pass git remote add <name> <url>
我們可以把這個(gè)密碼倉庫當(dāng)成普通倉庫來用。唯一的不同點(diǎn)在于每次我們新增或修改一個(gè)密碼,pass 都會(huì)自動(dòng)將該文件加入索引并創(chuàng)建一個(gè)提交。
pass 有一個(gè)叫做 qtpass 的圖形界面,而且也支持 Windows 和 MacOs。通過使用 PassFF 插件,它還能獲取 firefox 中存儲(chǔ)的密碼。在它的項(xiàng)目網(wǎng)站上可以查看更多詳細(xì)信息。試一下 pass 吧,你不會(huì)失望的! 















 
 
 










 
 
 
 