pass:一款簡單的基於 Linux 命令列的密碼管理工具

2daygeek發表於2017-06-29

現如今要記住類似 email、銀行、社交媒體、線上支付、ftp 等等這麼多的密碼相信對每一個人來說都是一個巨大的挑戰。

由於需求和使用,密碼管理器現如今變得非常的流行。在 Linux 中我們可以有很多選擇,包括基於 GUI 和基於 CLI 兩種。今天我們要講的是一款基於 CLI 的密碼管理器叫做 pass 。

pass 是 Linux 上的一個簡單的命令列密碼管理器,它將密碼儲存在一個 gpg 加密後的檔案裡。這些加密後的檔案很好地組織按目錄結構存放。

所有密碼都存在於 ~/.password-store 中,它提供了新增、編輯、生成和檢索密碼等簡單命令。

它是一個非常簡短和簡單的 shell 指令碼。 它能夠臨時將密碼放在剪貼簿上,並使用 git 跟蹤密碼的修改。

這是一個很小的 shell 指令碼,它還使用了少量的預設工具比如 gnupgtreegit,同時還有活躍的社群為它提供 GUI 和擴充套件。

如何在 Linux 中安裝 Pass

Pass 可從大多數 Linux 的主要發行版的倉庫中獲得。 所以,你可以使用你的分散式包管理器來安裝它。

對於基於 Debian 的系統,你可以使用 apt-getapt 包管理器命令來安裝 pass。

$ sudo apt-get install pass

對於基於 RHEL/CentOS 的作業系統, 使用 yum 包管理器命令來安裝它。

$ sudo yum install pass

Fedora 系統可用 dnf 包管理器命令來安裝。

$ sudo dnf install pass

openSUSE 系統可以用 zypper 包管理器命令來安裝。

$ sudo zypper in password-store

對於基於 Arch Linux 的作業系統用 pacman 包管理器來安裝它。

$ pacman -S pass

如何生成 GPG 金鑰對

確保你擁有你個人的 GPG 金鑰對。如果沒有的話,你可以通過在終端中輸入以下的命令並安裝指導來建立你的 GPG 金鑰對。

$ gpg --gen-key

執行以上的命令以生成 GPG 金鑰對時會有一系列的問題詢問,謹慎輸入問題的答案,其中有一些只要使用預設值即可。

初始化密碼儲存

如果你已經有了 GPG 金鑰對,請通過執行以下命令初始化本地密碼儲存,你可以使用 email-id 或 gpg-id 初始化。

$ pass init 2daygeek@gmail.com
mkdir: created directory '/home/magi/.password-store/'
Password store initialized for 2daygeek@gmail.com

上述命令將在 ~/.password-store 目錄下建立一個密碼儲存區。

pass 命令提供了簡單的語法來管理密碼。 我們一個個來看,如何新增、編輯、生成和檢索密碼。

通過下面的命令檢查目錄結構樹。

$ pass
or
$ pass ls
or
$ pass show
Password Store

我沒有看到任何樹型結構,所以我們將根據我們的需求來建立一個。

插入一個新的密碼資訊

我們將通過執行以下命令來儲存 gmail 的 id 及其密碼。

$ pass insert eMail/2daygeek@gmail.com
mkdir: created directory '/home/magi/.password-store/eMail'
Enter password for eMail/2daygeek@gmail.com: 
Retype password for eMail/2daygeek@gmail.com:

執行重複操作,直到所有的密碼插入完成。 比如儲存 Facebook 密碼。

$ pass insert Social/Facebook_2daygeek
mkdir: created directory '/home/magi/.password-store/Social'
Enter password for Social/Facebook_2daygeek: 
Retype password for Social/Facebook_2daygeek: 

我們可以列出儲存中的所有現有的密碼。

$ pass show
Password Store
├── 2g
├── Bank
├── eMail
│   ├── 2daygeek@gmail.com
│   └── magesh.maruthamuthu@gmail.com
├── eMail
├── Social
│   ├── Facebook_2daygeek
│   └── Gplus_2daygeek
├── Social
└── Sudha
    └── sudha21.magesh@gmail.com

顯示已有密碼

執行以下命令從密碼儲存中檢索密碼資訊,它會詢問你輸入密碼以解鎖。

$ pass eMail/2daygeek@gmail.com
*******

在剪貼簿中複製密碼

要直接將密碼直接複製到剪貼簿上,而不是在終端上輸入,請使用以下更安全的命令,它會在 45 秒後自動清除密碼。

$ pass -c eMail/magesh.maruthamuthu@gmail.com
Copied eMail/magesh.maruthamuthu@gmail.com to clipboard. Will clear in 45 seconds.

生成一個新密碼

如果你想生成一些比較難以猜測的密碼用於代替原有的奇怪密碼,可以通過其內部的 pwgen 功能來實現。

$ pass generate eMail/2daygeek@gmail.com 15
An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y
The generated password for eMail/2daygeek@gmail.com is:
y!NZ<%T)5Iwym_S

生成沒有符號的密碼。

$ pass generate eMail/2daygeek@gmail.com 15 -n
An entry already exists for eMail/2daygeek@gmail.com. Overwrite it? [y/N] y
The generated password for eMail/2daygeek@gmail.com is:
TP9ACLyzUZUwBwO

編輯現有的密碼

使用編輯器插入新密碼或編輯現有密碼。 當你執行下面的命令時,將會在包含密碼的文字編輯器中開啟檔案 /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt。 只需在其中新增新密碼,然後儲存並退出即可。

$ pass edit eMail/2daygeek@gmail.com

File: /dev/shm/pass.wUyGth1Hv0rnh/6kOBG-eMail-2daygeek@gmail.com.txt                                                                   
TP9ACLyzUZUwBwO

移除密碼

刪除現有密碼。 它將從 ~/.password-store 中刪除包含 .gpg 的條目。

$ pass rm eMail/2daygeek@gmail.com
Are you sure you would like to delete eMail/2daygeek@gmail.com? [y/N] y
removed '/home/magi/.password-store/eMail/2daygeek@gmail.com.gpg'

多選項功能

要儲存詳細資訊,如 URL、使用者名稱、密碼、引腳等資訊,可以使用以下格式。 首先確保你要將第一項設定為密碼,因為它用於在使用剪貼簿選項時將第一行復製為密碼,以及後續行中的附加資訊。

$ pass insert eMail/2daygeek@gmail.com -m
Enter contents of eMail/2daygeek@gmail.com and press Ctrl+D when finished:

H3$%hbhYT
URL : http://www.2daygeek.com
Info : Linux Tips & Tricks
Ftp User : 2g

 (題圖:Pixabay, CC0)


via: http://www.2daygeek.com/pass-command-line-password-manager-linux/

作者:2DAYGEEK 譯者:chenxinlong 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關文章