在Linux終端管理你的密碼!
現在是互聯(lián)網時代,我們每天都要跟各種 APP 、網站打交道,而這些東西基本上都需要注冊才可以使用。
但是賬號一多,我們自己都經常記不清對應的密碼了。有些小伙伴就一把梭,所有的賬號密碼都是一樣。但這樣操作的風險顯而易見,一旦密碼泄露,你所有的賬號都會陷入風險之中!
在瀏覽器上,我們有 1Password、Dashlane、RoboForm,等等非常優(yōu)秀的密碼管理軟件,但缺點是基本上都需要收費(不,這是我的缺點)~
本文介紹一款在 Linux 終端上就可以使用的密碼管理器 pass ,這是一個經典的 UNIX 風格的密碼管理系統(tǒng),使用 GnuPG (GPG) 進行加密,小巧好用!
一、安裝pass工具
pass 在很多發(fā)行版軟件庫里都有,使用各自的安裝命令即可完成安裝。
在 Ubuntu、Elementary 等基于 Debian 的發(fā)行版上,使用 apt 命令安裝:
$ sudo apt install pass
在 Fedora 及類似的發(fā)行版上,可以使用 dnf 命令安裝:
$ sudo dnf install pass
在 macOS 上,可以使用 Homebrew 安裝:
$ brew install pass
二、配置GnuPG
前文提到 pass 工具是使用 GnuPG 進行加密,所以在使用 pass 之前,我們需要一個有效的 PGP(Pretty Good Privacy)密鑰。如果你已經有了 PGP 密鑰,則可以跳過此步驟。
要創(chuàng)建 GnuPG 密鑰,需要運行以下命令:
$ gpg --generate-key
系統(tǒng)會提示你輸入姓名和電子郵件地址,并為密鑰創(chuàng)建密碼。你的密鑰是一個數字文件,密碼只有你自己知道。之后我們就可以使用 pass 工具鎖定和解鎖加密信息,例如一個包含有密碼的文件。
GPG 密鑰非常重要,如果你失去了它,任何被它鎖住的東西都將變得無法解鎖,即使知道你的密碼。所以,你一定要備份你的 ~/.gnupg 目錄,這樣下次如果重裝系統(tǒng),也不會意外刪除它。
作為程序員,一定要有備份意識。
三、配置pass工具
剛開始使用 pass 時,需要初始化密碼倉庫,這個密碼倉庫可以理解為將來你用來存儲密碼的地方。
你可以使用以下命令初始化 pass 工具:
$ pass init alvin
mkdir: created directory '/home/alvin/.password-store/'
Password store initialized for alvin
在這里,alvin 就是你的名字,因為到時可以有多人使用這個工具,所以需要區(qū)分一下。
如果你忘記了你初始化時所使用的名字,可以使用以下 gpg 命令查看與你的密鑰關聯(lián)的數字指紋和名稱:
$ gpg --list-keys
gpg --list-keys
/home/alvin/.gnupg/pubring.kbx
-----------------------------
pub ed25519 2022-01-06 [SC] [expires: 2024-01-06]
2BFF94286461216C907CBA52F067996F13EF10D8
uid [ultimate] Alvin Yan <alvin@example.com>
sub cv25519 2022-01-06 [E] [expires: 2024-01-06]
四、pass工具基本使用方法
1. 使用pass工具存儲密碼
可以使用 pass add 命令將密碼添加到你的密碼存儲區(qū):
$ pass add www.example.com
Enter password for www.example.com:
按下回車后,會提示你輸入要添加的密碼。
輸好密碼后,密碼將存儲在你的密碼倉庫中,你可以看一眼這個文件:
$ ls /root/.password-store/
www.example.com.gpg
當然,該文件是不可讀的,如果你嘗試運行 cat 或 less 命令來查看,那么你會看到一堆亂碼。
2. 使用pass工具編輯密碼
常在網上走,哪有不泄密。所以,為了防止撞庫,最穩(wěn)妥的方式就是為不同網站設置不同的賬號和密碼。直接使用 pass add 命令的話,默認只添加密碼,但我們可以人工添加用戶名。
使用 pass edit 命令可以將用戶名添加到密碼文件:
$ pass edit www.example.com
敲下回車后,密碼文件將被打開。在這里,你可以添加用戶名,甚至是另一個 URL 或其它想要的信息。這是一個加密文件,因此你可以記錄任何你想加密的信息。
bd%dc$3a49af49498bb6f31bc964718C
user: alvin123
url: example.com
3. 從pass中獲取密碼
想要查看密碼文件的內容,可以使用 pass show 命令:
$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: alvin123
url: www.example.org
4. 在pass工具中搜索密碼
有時候,你有可能忘記網站的域名是啥,但有可能零星記得網址里的某些單詞,那么就可以使用 pass grep 命令以文件名或文件內容顯示搜索詞的所有結果:
$ pass grep example
www.example.com:
url: www.example.org
五、在瀏覽器上使用pass工具
現在我們可以安全存儲顯示密碼了,但這樣還是很不方便。我們總不可能在上網的時候,需要填密碼時還要打開終端,再找到密碼,然后再填進密碼框,簡直讓人抓狂!
好在 pass 工具有對應的腳本及工具可以讓我們更方便使用。
1. pass腳本
首先,安裝 pass 腳本:
$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh
這是一個 Python 腳本,它可以幫助你的瀏覽器訪問你的密碼倉庫和 GPG 密鑰。安裝時,需要與所使用的瀏覽器的名稱一起運行:
$ bash ./install_host_app.sh firefox
如果你使用多個瀏覽器,那么可以為每個瀏覽器安裝這個腳本。
2. pass插件
安裝完腳本后,接下來就需要為瀏覽器安裝 pass 插件。你可以在瀏覽器的插件中心找到 PassFF 插件,然后一鍵安裝即可。
安裝完插件之后,關閉并重新啟動瀏覽器。
然后,我們再打開一個你存儲過密碼對應的站點,你會發(fā)現登錄文本字段右側有一個小 P 圖標。
單擊 P 按鈕可查看密碼倉庫中匹配的站點名稱列表。
點擊筆和紙圖標填寫表格或點擊紙飛機圖標填寫并自動提交表格。
搞定!