在 Linux 終端管理你的密碼!

來自公衆號:良許 Linux

大家好,我是良許。

現在是互聯網時代,我們每天都要跟各種 APP 、網站打交道,而這些東西基本上都需要註冊纔可以使用。

但是賬號一多,我們自己都經常記不清對應的密碼了。有些小夥伴就一把梭,所有的賬號密碼都是一樣。但這樣操作的風險顯而易見,一旦密碼泄露,你所有的賬號都會陷入風險之中!

在瀏覽器上,我們有 1Password、Dashlane、RoboForm,等等非常優秀的密碼管理軟件,但缺點是基本上都需要收費(不,這是我的缺點)~

本文介紹一款在 Linux 終端上就可以使用的密碼管理器 pass ,這是一個經典的 UNIX 風格的密碼管理系統,使用 GnuPG (GPG) 進行加密,小巧好用!

一、安裝 pass 工具

pass 在很多發行版軟件庫裏都有,使用各自的安裝命令即可完成安裝。

在 Ubuntu、Elementary 等基於 Debian 的發行版上,使用 apt 命令安裝:

$ sudo apt install pass

在 Fedora 及類似的發行版上,可以使用 dnf 命令安裝:

$ sudo dnf install pass

在 macOS 上,可以使用 Homebrew 安裝:

$ brew install pass

二、配置 GnuPG

前文提到 pass 工具是使用 GnuPG 進行加密,所以在使用 pass 之前,我們需要一個有效的 PGP(Pretty Good Privacy)密鑰。如果你已經有了 PGP 密鑰,則可以跳過此步驟。

要創建 GnuPG 密鑰,需要運行以下命令:

$ gpg --generate-key

系統會提示你輸入姓名和電子郵件地址,併爲密鑰創建密碼。你的密鑰是一個數字文件,密碼只有你自己知道。之後我們就可以使用 pass 工具鎖定和解鎖加密信息,例如一個包含有密碼的文件。

GPG 密鑰非常重要,如果你失去了它,任何被它鎖住的東西都將變得無法解鎖,即使知道你的密碼。所以,你一定要備份你的 ~/.gnupg 目錄,這樣下次如果重裝系統,也不會意外刪除它。

作爲程序員,一定要有備份意識。

三、配置 pass 工具

剛開始使用 pass 時,需要初始化密碼倉庫,這個密碼倉庫可以理解爲將來你用來存儲密碼的地方。

你可以使用以下命令初始化 pass 工具:

$ pass init alvin
mkdir: created directory '/home/alvin/.password-store/'
Password store initialized for alvin

在這裏,alvin 就是你的名字,因爲到時可以有多人使用這個工具,所以需要區分一下。

如果你忘記了你初始化時所使用的名字,可以使用以下 gpg 命令查看與你的密鑰關聯的數字指紋和名稱:

$ 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 命令將密碼添加到你的密碼存儲區:

$ pass add www.example.com
Enter password for www.example.com:

按下回車後,會提示你輸入要添加的密碼。

輸好密碼後,密碼將存儲在你的密碼倉庫中,你可以看一眼這個文件:

$ ls /root/.password-store/
www.example.com.gpg

當然,該文件是不可讀的,如果你嘗試運行 catless 命令來查看,那麼你會看到一堆亂碼。

2. 使用 pass 工具編輯密碼

常在網上走,哪有不泄密。所以,爲了防止撞庫,最穩妥的方式就是爲不同網站設置不同的賬號和密碼。直接使用 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
  1. 在 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 插件,然後一鍵安裝即可。

安裝完插件之後,關閉並重新啓動瀏覽器。

然後,我們再打開一個你存儲過密碼對應的站點,你會發現登錄文本字段右側有一個小 P 圖標。

單擊 P 按鈕可查看密碼倉庫中匹配的站點名稱列表。

點擊筆和紙圖標填寫表格或點擊紙飛機圖標填寫並自動提交表格。

搞定!

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/48srtuHocnM-e7dwnWg_2g