在 Linux 終端中管理您的密碼
Pass 是一個經典的UNIX風格的密碼管理系統,它使用 GnuPG(GPG)進行加密,並將終端作為其主要介面。
如今,我們或多或少都有幾十個密碼。幸運的是,其中大部分密碼可能是關於網站的,您可能通過互聯網瀏覽器訪問大多數網站,並且大多數瀏覽器都有內置的密碼管理器。最常見的互聯網瀏覽器還具有同步功能,可幫助您在其他不同設備上運行的瀏覽器之間分發密碼,因此在需要時,您隨時都有登錄信息。如果這對您來說還不夠,那麼像 BitWarden 這樣的優秀開源項目可以管理您的加密密碼,保證只有您有解鎖它們的密鑰。這些解決辦法有助於輕鬆維護唯一的密碼,我會使用這些方便的系統來選擇密碼。但是我的密碼存儲的主要保管庫比這些方法中都要簡單得多。我主要使用 pass,一個經典的UNIX風格的密碼管理系統,它使用 GnuPG(GPG)進行加密,終端作為其主要介面。
安裝通行證
您可以從分發存儲庫安裝該命令。
在 Fedora、Mageia 和類似的發行版上,你可以使用包管理器安裝它:
$ sudo dnf install pass
在 Elementary、Mint 和其他基於 Debian 的發行版上:
$ sudo apt install pass
在macOS上,您可以使用 Homebrew 安裝它:
$ brew install pass
配置 GnuPG
在使用 之前,您需要一個有效的 PGP("Pretty Good Privacy")密鑰。如果已維護 PGP 密鑰,則可以跳過此步驟,也可以選擇創建專門用於 的新密鑰。最常見的開源 PGP 實現是 GnuPG(GPG),它隨 Linux 一起提供,您可以從 gpgtools.org,Homebrew或 Macports將其安裝在 macOS 上。 要創建 GnuPG 密鑰,請運行以下命令:passpass
$ gpg --generate-key
系統會提示您輸入您的姓名和電子郵件地址,並為密鑰創建密碼。您的密鑰是一個數字文件,只有您知道您的密碼。結合在一起使用,這兩個東西便可以鎖定和解鎖加密信息,例如包含密碼的文件。
GPG 鑰匙很像房子鑰匙或車鑰匙。如果您丟失了它,則無法獲取它被鎖定的任何內容。僅僅知道您的密碼是不夠的。
如果您已經管理了多個 SSH 密鑰,則可能已經習慣了這一點。如果您不熟悉數字加密密鑰,則可能需要一些時間來適應。您下次決定一時興起嘗試令人興奮的新發行版前,記得備份目錄,這樣您就不會意外刪除它了。~/.gnupg 進行備份並保持備份安全。
配置通行
要開始使用 ,必須初始化密碼存儲,該密碼存儲被定義為配置為使用特定加密密鑰的存儲位置。您可以通過與密鑰關聯的名稱或數字指紋來指示要用於密碼存儲的 GPG 密鑰。您自己的姓名通常是更簡單的選擇:
$ pass init seth
mkdir: created directory '/home/seth/.password-store/'
Password store initialized for seth
如果您設法忘記了自己的姓名,則可以使用以下命令看到與您的密鑰關聯的數字指紋和姓名:
$ gpg --list-keys
gpg --list-keys
/home/seth/.gnupg/pubring.kbx
-----------------------------
pub ed25519 2022-01-06 [SC] [expires: 2024-01-06]
2BFF94286461216C907CBA52F067996F13EF10D8
uid [ultimate] Seth Kenlon
sub cv25519 2022-01-06 [E] [expires: 2024-01-06]
使用指紋初始化密碼存儲與您的名字基本相同:
$ pass init 2BFF94286461216C907CBA52F067996F13EF10D8
存儲密碼
使用以下命令將密碼添加到密碼存儲中:
$ pass add www.example.com
Enter password for www.example.com:
出現提示時,輸入要添加的密碼。
密碼現在存儲在您的密碼存儲中。您可以自己看看:
$ ls /root/.password-store/
www.example.com.gpg
當然,該文件是不可讀的,如果您嘗試運行或在其上運行,終端就會顯示無法列印的字元(如果終端顯示太不整潔,請使用修復您的終端。catlessreset)
使用通行證編輯密碼
不同的在線活動我會使用不同的用戶名,因此網站的用戶名通常與密碼一樣重要。系統允許這樣做,即使它默認情況下不會提示您這樣做。您可以使用以下命令將用戶名添加到密碼文件中:
$ pass edit www.example.com
這將打開一個文本編輯器(特別是您設置為您的編輯器或環境變數),顯示文件的內容。目前,這只是一個密碼,但您可以添加用戶名,甚至可以添加另一個URL或所需的任何信息。這是一個加密文件,因此您可以自由保留所需的內容。
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: example.com
保存文件並將其關閉。
從通行證獲取密碼
要查看密碼文件的內容,請使用以下命令:
$ pass show www.example.com
bd%dc$3a49af49498bb6f31bc964718C
user: seth123
url: www.example.org
搜索密碼
有時很難記住密碼是在哪裡提交的,或者有些密碼十分類似。此外,某些網站基礎結構對不同的站點功能使用不同的 URL,因此,即使您對合作夥伴站點使用相同的登錄信息,您也可以在這裡提交密碼。
如有疑問,請使用該命令顯示搜索詞的所有實例,包括文件名或文件內容:
$ pass grep example
www.example.com:
url: www.example.org
通過瀏覽器使用憑證
我也會使用互聯網密碼以外的信息,但網站卻是我最常需要密碼的地方。我通常會在計算機上的某個地方打開一個終端,因此Alt + Tab到終端並獲取我需要的信息並不麻煩。但這不是我所做的,因為有插件可以與Web瀏覽器集成。
傳遞主機腳本
首先,安裝主機腳本:
$ curl -sSL github.com/passff/passff-host/release/latest/download/install_host_app.sh
此安裝腳本放置一個 Python 腳本,可幫助瀏覽器訪問密碼存儲和 GPG 密鑰。將它與您使用的瀏覽器的名稱一起運行(或者不運行,以查看所有選項)
$ bash ./install_host_app.sh firefox
如果您使用多個瀏覽器,則可以為每個瀏覽器安裝它。
傳遞附加組件
安裝主機應用程序後,您可以為瀏覽器安裝載入項或擴展。在瀏覽器的載入項或擴展管理器中搜索插件。
安裝載入項,然後關閉並重新啟動瀏覽器。
導航到您在密碼存儲中擁有其密碼的網站。現在,登錄文本欄位右側有一個小P圖標。
單擊P按鈕可查看密碼存儲中匹配的站點名稱的列表。
單擊"筆和紙"圖標以填寫表單,或單擊"紙飛機"圖標以填充並自動提交表單。
簡單的密碼管理和完全集成!
嘗試作為您的 Linux 密碼管理器傳遞
對於想要使用他們熟悉的工具管理密碼和個人信息的用戶來說,該命令會是一個很好的選擇。如果您已經習慣了 GPG 和終端,那麼您可能會喜歡該系統。對於不希望將密碼綁定到特定應用程序的用戶來說,這也是一個重要的選擇。也許您不只使用一個瀏覽器,或者您不喜歡這樣的想法,即如果您決定停止使用應用程序,則可能很難從應用程序中提取密碼。使用它 ,您可以在類似 UNIX 且簡單的系統中保持對機密的控制。
翻譯:2043xingyitong
參考資料:
Manage your passwords in the Linux terminal