如何在Linux上使用命令行管理密碼?
在基于密碼的認證在網(wǎng)絡盛行的今天,你可能需要或者已經使用了某種密碼管理工具來跟蹤管理你正在使用的所有密碼。有各種各樣的在線或離線服務或者軟件工具用于完成此類事情,而這些工具因復雜程度、用戶界面或者目標環(huán)境(如企業(yè)或終端用戶)的不同而各不相同。例如,有一些是為終端用戶開發(fā)基于圖形化的密碼管理器,如KeePass(X)。
對于那些不想要依賴圖形化進行密碼管理的用戶,筆者將會講述如何在命令行下使用 pass來管理密碼,這是一個簡單的用于命令行管理密碼的工具。
該密碼工具實際上是一個shell腳本編寫的前端,其中調用了幾個其它工具(如gpg,pwgen,git,xsel)來使用OpenGPG管理用戶的密碼信息。各個密碼使用gpg工具進行加密,并存儲到本地密碼倉庫中。密碼信息可以通過終端或者自清除的剪貼板工具使用。
該密碼工具相當靈活,并且使用起來及其簡單。你可以將每個密碼信息存儲到一個OpenGPG保護的普通文本文件,并且將不同的密碼文件分組多個類目中。它支持bash自動補全特性,因此可以很方便地使用TAB鍵來補全命令或者很長的密碼名稱。
在Linux上安裝pass
在Debian,Ubuntu或者Linux Mint上安裝pass:
- $ sudo apt-get install pass
- $ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
在Fedora上安裝pass:
- $ sudo yum install pass
- $ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
在CentOS上安裝pass,首先啟用EPEL倉庫,然后執(zhí)行以下命令:
- $ sudo yum install pass
- $ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
在Archlinux上安裝pass:
- $ sudo pac -S pass
- $ echo "source /etc/bash_completion.d/password-store" >> ~/.bashrc
初始化本地密碼倉庫
在使用密碼工具之前,你需要執(zhí)行一次初始化步驟,該步驟包括創(chuàng)建一個GPG密鑰對(如果你還沒有)以及一個本地密碼倉庫。
首先,通過以下步驟創(chuàng)建一個GPG密鑰對(即:公鑰/私鑰)。如果已經創(chuàng)建了自己的GPG密鑰對,可以跳過此步驟。
- $ gpg --gen-key
執(zhí)行該步驟,會詢問你如下問題。如果你不確定,可以選擇接受默認回答。作為密鑰生成部分,你將要為你的密鑰創(chuàng)建一個加密口令,這個口令實際上是你訪問存儲在本地密碼倉庫中的任何密碼信息時的主密碼。成功創(chuàng)建密鑰對后,創(chuàng)建的密鑰對會存儲在~/.gnupg目錄中。
接下來,運行以下命令來初始化本地密碼倉庫。下面的,輸入之前創(chuàng)建密鑰對時的關聯(lián)電子郵件地址。
- $ pass init <gpg-id>
該命令會在~/.password-store目錄中創(chuàng)建一個密碼倉庫。
在終端使用pass管理密碼
插入新密碼信息
要將新的密碼信息插入到本地密碼倉庫中,請遵循以下命令格式:
- $ pass insert <password-name>
是你定義的專有名稱,并且可以分級(如 "finance/tdbank", "online/gmail.com")。在這種情況下,密碼信息可以存儲到~/.password-store目錄下對應的子目錄中。
如果你想要分多行插入密碼信息,請像以下命令一樣使用"-m"選項。以你自己喜歡的任何格式來輸入密碼信息,然后按Ctrl+D來結束。
- $ pass insert <password-name> -m
查看所有密碼名稱列表
要查看所有存儲的密碼名稱列表,只需輸入"pass"命令:
- $ pass
從密碼倉庫中取回密碼信息
要訪問特定密碼列表中的內容,只需使用以下命令:
- $ pass <password-name>
例如:
- $ pass email/gmail.com
會要求你輸入密碼口令來解鎖密鑰。
如果你想要將密碼復制到剪貼板,而不是顯示到終端屏幕上,使用以下命令:
- $ pass -c email/gmail.com
當密碼被復制到剪貼板,剪貼板在45秒后會被自動清空。
在密碼倉庫中生成并存儲新密碼
使用pass命令,你也可以生成一個新的隨機密碼,該密碼可用于任何目的。pass工具將會使用pwgen工具來生成一個好的隨機密碼。你可以指定密碼的長度,或者生成帶或不帶符號的密碼。
例如,要生成一個具有10個字符不帶符號的密碼,并將它存儲到 "email/new_service.com"列表中:
- $ pass generate email/new_service.com 10 -n
移除密碼信息
要移除現(xiàn)存的密碼信息是很容易的:
- $ pass rm email/gmail.com
小結一下,pass是及其靈活,便于攜帶,并且更為重要的是,易于使用。對于正在尋找能簡單而行之有效地、安全地、并且不依賴圖形化管理任何私人信息的工具的人,筆者強烈推薦pass。
via: http://xmodulo.com/2014/05/manage-passwords-command-line-linux.html