帮酷LOGO

在本文中,我将介绍两个命令行密码管理工具。

1. Passmgr

它是简单且便携的密码管理器工具,它通过命令行安全地存储密码,在默认模式下,passmgr允许选择存储的密码,这些密码将很短的时间内复制到剪贴板,以便粘贴到密码字段中,在这之后,剪贴板被删除。

所有凭据都存储在AES256-GCM加密的单个文件中,该文件默认位于用户主目录中。

预先要求

  • 安装
  • 安装了Xclip或Xsel命令

在安装Passmgr之前,我们需要满足这些先决条件。

安装

可以下载所需的包并进行安装。

#yum update
# wget https://storage.googleapis.com/golang/go1.6.2.linux-amd64.tar.gz
# tar -xzvf go1.6.2.linux-amd64.tar.gz -C /usr/local/

我已经下载了64位架构的软件包,

# cd /root
# mkdir go
# cat /etc/profile.d/goenv.sh
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
# source /etc/profile.d/goenv.sh
# go version
go version go1.6.2 linux/amd64

安装Xclip或Xsel

要在CentOS 7服务器中启用这些命令,需要先安装这些依赖项软件包,然后再安装软件包,请按照以下步骤启用此命令。

# yum install libX11.x86_64
# yum install libX11-devel.x86_64
# yum install libXmu.x86_64
# yum install libXmu-devel.x86_64
# wget ftp://mirror.switch.ch/pool/4/mirror/epel/7/x86_64/x/xclip-0.12-5.el7.x86_64.rpm
# wget http://dl.fedoraproject.org/pub/epel/7/x86_64/x/xsel-1.2.0-15.el7.x86_64.rpm
# rpm -Uvh xsel-1.2.0-15.el7.x86_64.rpm
warning: xsel-1.2.0-15.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:xsel-1.2.0-15.el7 ################################# [100%]
# rpm -Uvh xclip-0.12-5.el7.x86_64.rpm
warning: xclip-0.12-5.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:xclip-0.12-5.el7 ################################# [100%]

安装Passmgr

完成上述安装后,可以按以下步骤一步启用此Passmgr工具:

# go get github.com/urld/passmgr/cmd/passmgr

现在可以运行"passmgr"来设置密码管理器工具的主密码,并将主条目设为工具。

# passmgr
 [passmgr] new master passphrase for /root/.passmgr_store:
 [passmgr] retype master passphrase for /root/.passmgr_store:
-- store is empty --
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] a
 Enter the values for the new entry
 User: Saheetha
 URL: linoxide.com
 Passphrase:
n) User URL
 1) Saheetha linoxide.com

Passmgr用法

此工具提供了各种选项来管理密码,可以使用这些选项添加,删除,搜索特定的字符串,

# passmgr --help
 Usage of passmgr:
 -add
 store new credentials
 -appTTL int
 time in seconds after which the application quits if there is no user interaction (default 120)
 -clipboardTTL int
 time in seconds after which the clipboard is reset (default 15)
 -del
 delete stored credentials
 -file string
 specify the passmgr store (default"/root/.passmgr_store")

例如:

可以使用以下选项将新条目添加到我们的密码管理器 ,方法如下:

# passmgr -add
[passmgr] master passphrase for /root/.passmgr_store: docker
n) User URL
1) Saheetha linoxide.com
Enter the values for the new entry
User: [email protected]URL: work.example.com
Passphrase:
n) User URL
1) Saheetha linoxide.com
2) [email protected] work.example.com

我们可以使用选项--file将凭证存储/读取到文件中,默认情况下,所有密码都存储在"/root/.passmgr_store"文件中,可以使用以下命令来读取特定条目的密码文件:

# passmgr -file /root/.passmgr_store
[passmgr] master passphrase for /root/.passmgr_store:
n) User URL
1) Saheetha linoxide.com
2) [email protected] work.example.com
3) testuser website.com
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] 1
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] S
Select: 1
Passphrase copied to clipboard!
Clipboard will be erased in 15 seconds.

我们可以使用筛选选项将搜索限制为特定的字符串,如下所示:

# passmgr
 [passmgr] master passphrase for /root/.passmgr_store:
n) User URL
 1) Saheetha linoxide.com
 2) [email protected] work.example.com
 3) testuser website.com
 4) test test.com
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] f
 Filter: test
n) User URL
 3) testuser website.com
 4) test test.com

过滤器可以通过留空来重新设置。

要从密码管理器工具中删除条目,可以使用选项d或delete,请参见下面的例子:

# passmgr
 [passmgr] master passphrase for /root/.passmgr_store:
n) User URL
 1) Saheetha linoxide.com
 2) [email protected] work.example.com
 3) testuser website.com
 4) test test.com
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] d
 Delete: 3
 Delete all secrets for 'testuser | website.com? [Y/n] y
n) User URL
 1) Saheetha linoxide.com
 2) [email protected] work.example.com
 3) test test.com
Choose a command [(S)elect/(f)ilter/(a)dd/(d)elete/(q)uit] q

在本例中,我从密码管理器中删除了"testuser"条目。

2.Titan

Titan是另一种命令行密码管理器工具,可以在类Unix的操作系统中使用,它使用OpenSSL库来执行加密,AES加密与256位密钥一起使用,在titan密码数据库中,使用密钥哈希消息身份验证代码(HMAC )也受到防护,加密过程中使用了唯一的加密随机初始化向量,加密密码数据库时生成新的初始化向量。

Titan用SQlite来储存密码,数据库架构简单易用。

按照这些步骤为CentOS7服务器安装Titan

# yum install sqlite-devel.x86_64 sqlite-tcl.x86_64
# yum install openssl-devel
# git clone https://github.com/nrosvall/titan.git
# cd titan/
# make
# make install

Titan用法

Titan还提供了一些通过命令行管理密码的选项,

首先,我们需要创建一个存储密码的数据库,我们可以通过运行这个命令来创建我们的新数据库。

# titan --init /home/passwords/passwd.db

你可以在创建此数据库时提供密码来保护该数据库,现在,你可以将所有必需的条目添加到此数据库,--add or just -a 选项如下:

# titan --add
Title: Work
Username: sshameer
Url: linoxide.com
Notes: Admin notes
Password (empty to generate new):

为了解密它,你可以使用选项titan --decrypt [database path]

# titan --decrypt /home/passwords/passwd.db

要查看添加的条目可以使用"--list-all".选项

# titan --list-all
 =====================================================================
 ID: 1
 Title: Work
 User: sshameer
 Url: linoxide.com
 Password: **********
 Notes: Admin notes
 Modified: 2017-07-08 15:11:56
 =====================================================================

在添加所有条目后,你应该加密数据库,我们可以运行这个命令来加密它。

#titan --encrypt /home/passwords/passwd.db

请查看man titantitan --help以获得更多信息。

结束语

感谢阅读本文,如果你发现更好的工具,请在这里分享它。




Copyright ? 2011 HelpLib All rights reserved. ?? 知识分享协议 京ICP备05059198号-3 ?|? 如果智培 ?|? 酷兔英语