如何使用kpcli管理Ubuntu14.04服务器上的KeePass2密码文件
介绍
安全是我们在互联网上都必须关注的事情。 为您的在线帐户设置强大、唯一的密码可以大大有助于确保您的信息安全和隔离安全漏洞。
由于 HeartBleed 等漏洞不时出现,受信任的公司成为安全漏洞的受害者,无论您是否一直使用强密码,您的帐户信息都可能受到损害。 如果您一直在为不同的服务使用相同的密码,则影响可能会更大。
我们大多数人都被反复告知正确密码管理的重要性。 这可以在密码管理工具的帮助下变得更容易。 KeePass 是一种密码管理解决方案,可用于在您控制的机器上存储和管理密码数据库。
通常,KeePass2 用户通过图形用户界面与本地密码数据库进行交互,但在本指南中,我们将讨论如何在服务器环境中创建和操作这些文件。 kpcli 工具是一个命令行实用程序,用于创建和编辑 KeePass 条目和数据库。
在 下一个指南 中,我们将通过学习如何使用 nginx 安全地提供密钥数据库文件来利用我们的工作。 然后,我们可以从本地 KeePass2 安装连接到这个远程数据库,以在我们的任何互联网连接设备上检索我们的密码信息。
我们将在 Ubuntu 14.04 服务器上完成这些步骤。
下载必要的组件
为了开始,我们必须从默认的 Ubuntu 存储库中获取一些软件。
我们将下载 kpcli
实用程序和一些帮助库。 由于这是我们第一次使用apt
这个会话,我们将在安装前刷新我们的本地包索引:
sudo apt-get update sudo apt-get install kpcli libterm-readline-gnu-perl libdata-password-perl
现在您已经安装了组件,我们可以开始学习如何使用命令行实用程序来管理我们的密码。
开始会议并获得指导
在提示符下,通过键入以下命令与 kpcli
启动交互式会话:
kpcli
系统会提示您与干净的 KeePass2 数据库文件进行交互。 您可以通过键入以下内容查看一些可用选项:
help
cd -- Change directory (path to a group) cl -- Change directory and list entries (cd+ls) close -- Close the currently opened database cls -- Clear screen ("clear" command also works) edit -- Edit an entry: edit <path to entry|entry number> export -- Export entries to a new KeePass DB (export <file.kdb> [<file.key>]) . . .
如果您已经有 KeePass2 数据库文件,您可以 使用 sftp 将其传输到您的服务器 ,然后您可以像这样在会话中打开它:
打开密码数据库.kdbx
请提供主密码:
系统将要求您提供数据库文件的主密码。 这会将您的数据库文件打开到 kpcli 环境中。
如果您还没有数据库文件,请立即通过键入以下内容创建一个:
另存为password_database .kdbx
请提供主密码: 重新输入以验证:
您将被要求提供并验证 KeePass 数据库文件的主密码。 此密码用于保护您的所有其他密码,因此您必须选择一个非常好的密码并记住它。
KeePass2 的数据库文件传统上以 .kdbx
文件扩展名存储,因此这是确保系统间互操作性的不错选择。
现在,我们将数据库文件加载到我们的 kpcli 环境中。 我们做什么以及如何开始?
首先,如果您查看了帮助菜单,您可能已经意识到有些命令可以模拟基本的 *nix 命令。 但是,它们不在文件系统上运行。 相反,它们处理在我们文件中创建的数据库结构。
我们将通过键入以下内容来定位:
ls
=== Groups === eMail/ Internet/
如您所见,我们的数据库初始化为两个组,称为“eMail”和“Internet”。 KeePass 将密码和相关数据存储在称为“条目”的结构中。 它还有一个称为“组”的结构,用于组织密码条目。 目前,我们有两个组,没有条目。
您可以使用 mkdir
命令创建其他组:
mkdir test
要删除组,您可以改用 rmdir
命令:
rmdir test
创建密码条目
让我们创建我们的第一个条目。
我们想为 example.com
存储我们的密码。 这是一个网站,因此将其存储在我们的“Internet”组中是明智的。 通过键入以下内容进入该组:
cd Internet
现在,我们可以输入:
new
Adding new entry to "/Internet" Title: example Username: demo_user
您必须选择一个名称,用于识别数据库中的条目。 接下来,它会询问您用于登录网站的用户名。
Password: ("g" to generate a password)
之后,您将被要求输入密码。 如果您已有要使用的密码,可以在此处输入。 您将被要求验证您输入的内容。 如果你没有密码,你可以简单地输入“g”告诉kpcli为你生成一个强密码。
URL: http://www.example.com Notes/Comments (""): (end multi-line input with a single "." on a line)
接下来将要求您输入站点的 URL。 然后,您可以输入有关该帐户的评论或注释。
例如,如果某个站点要求您选择安全问题来恢复密码,那么这将是输入您选择的答案的好地方。 按 [ENTER] 结束输入,键入一个点“.”,然后再次按 [ENTER]。
您将被告知数据库已更改。 键入“y”以保存您的更改。
如果您现在列出该组的内容,您将看到您有一个新条目:
ls
=== Entries === 0. example www.example.com
您可以通过前导索引号或您给它的标题来引用此条目。
使用现有条目
现在您有了一个条目,我们可以了解一些有关如何操作现有条目的知识。
要编辑现有条目,可以使用 edit
命令,并通过索引号或标题调用它:
edit 0
您将逐一浏览条目的字段,这些字段将预先填充您之前的选择。 只需点击“ENTER”以接受您想要保留的任何字段的值。
要显示条目的内容,可以使用 show
命令:
show 0
Path: /Internet Title: example Uname: demo_user Pass: URL: http://www.example.com Notes:
当屏幕上显示输出时,密码将被红色(如果您的终端支持彩色输出)块遮住。 基本上,这是红色背景上的红色文本。 这用于防止人们看到您的密码。 您仍然可以复制并粘贴文本以将其输入到字段中。
如果要在屏幕上显示密码,可以添加 -f
标志:
show -f 0
Path: /Internet Title: example Uname: demo_user Pass: _OZ1oMyZiC4ceydUDVvC URL: http://www.example.com Notes:
您还可以添加 -a
标志以打印其他信息,例如创建和上次修改时间。
要删除条目,可以使用 rm
命令:
rm example
系统会提示您 而不是 是否真的要删除该条目,所以要小心。 系统会提示您是否要保存更改,因此如果您不小心删除了条目,请尽量不要保存。 然后您可以使用 open
命令重新打开文件。
要将条目移动到不同的组,可以使用 mv
命令:
mv 0 /eMail/
要查找条目,可以使用 find
命令:
find example
Searching for "example" ... - 1 matches found and placed into /_found/ Would you like to show this entry? [y/N]
正如输出所示,结果将在一个名为 /_found
的新组中可用。 如果您不想保留此组,可以随时将其删除。 找到的条目不会受到影响。
其他 kpcli 命令
如果您要使用 kpcli,您应该学习一些额外的命令。
要重命名组,可以使用 rename
命令:
rename Internet
Enter the groups new Title: internet
如果要检查所选密码的强度,可以使用 pwck
命令:
pwck /
这将递归检查您的所有密码。 不过,您可以将其指向一个条目。
要查看有关数据库文件的一些统计信息,可以使用 stats
命令:
stats
KeePass file version: 2 Encryption type: rijndael Encryption rounds: 6000 Number of groups: 2 Number of entries: 1 Entries with passwords of length: - 20+: 1
最后,要结束会话,您可以显式保存更改:
save
您可以关闭当前正在处理的数据库文件并通过键入以下内容继续使用 kpcli:
close
或者您可以通过键入以下内容完全退出 kpcli:
exit
结论
在本指南中,您学习了如何使用 kpcli
工具与 KeePass2 密码数据库文件进行交互和创建。 您应该能够在服务器环境中相对轻松地操作条目和文件。
在下一个指南中,我们将向您展示 如何使用 nginx 提供数据库文件,以便您可以通过本地 KeePass2 安装与远程数据库进行交互。