如何在 Ubuntu 14.04 服务器上使用 kpcli 管理 KeePass2 密码文件

介绍

安全性是我们在互联网上必须关心的事情,为您的在线帐户拥有强大而独特的密码可以使您的信息保持安全,并孤立安全漏洞。

随着像 HeartBleed这样的漏洞不时出现,以及受信任的公司成为安全漏洞的受害者,您的帐户信息可能会受到威胁,无论您是否一直使用强大的密码。

我们大多数人已经多次被告知了正确的密码管理的重要性,这可以通过密码管理工具来简化。 KeePass是一种密码管理解决方案,可用于在您控制的机器上存储和管理密码数据库。

通常情况下,KeePass2用户通过图形用户界面与本地密码数据库进行交互,但在本指南中,我们将讨论如何在服务器环境中创建和操纵这些文件。

下一个指南中,我们将通过学习如何使用nginx安全地服务关键数据库文件来利用我们的工作,然后我们可以从本地KeePass2安装连接到这个远程数据库,在我们的任何互联网连接设备上获取我们的密码信息。

我们将在 Ubuntu 14.04 服务器上完成这些步骤。

下载必要的组件

为了开始,我们需要从默认的Ubuntu存储库中获取一些软件。

我们将下载kpcli实用程序和一些辅助库. 由于这是我们第一次使用apt这个会话,我们将在安装前更新本地包索引:

1sudo apt-get update
2sudo apt-get install kpcli libterm-readline-gnu-perl libdata-password-perl

现在你已经安装了组件,我们可以开始学习如何使用命令行实用程序来管理我们的密码。

开始会议并获得定向

在提示中,通过键入kpcli开始一个交互式会话:

1kpcli

您将被提示与清洁的 KeePass2 数据库文件进行交互,您可以通过键入查看您的一些可用的选项:

1help

1cd -- Change directory (path to a group)
2      cl -- Change directory and list entries (cd+ls)
3   close -- Close the currently opened database
4     cls -- Clear screen ("clear" command also works)
5    edit -- Edit an entry: edit <path to entry|entry number>
6  export -- Export entries to a new KeePass DB (export <file.kdb> [<file.key>])
7  . . .

如果您已经拥有一个 KeePass2 数据库文件,您可以使用 sftp 将其传输到您的服务器(https://www.digitalocean.com/community/articles/how-to-use-sftp-to-securely-transfer-files-with-a-remote-server),然后在您的会话中如下打开:

open password_database.kdbx
Please provide the master password:

您将被要求提供您的数据库文件的主密码,从而将您的数据库文件打开到 kpcli 环境中。

如果您还没有数据库文件,请通过键入:

saveas password_database.kdbx
Please provide the master password:
Retype to verify:

您将被要求为 KeePass 数据库文件提供和验证主密码. 此密码用于保护您的所有其他密码,因此您必须选择一个非常好的密码并记住它。

KeePass2 的数据库文件传统上与 .kdbx 文件扩展一起存储,因此这是确保系统间互操作的良好选择。

现在,我们已将我们的数据库文件加载到我们的 kpcli 环境中,我们该怎么做,如何开始?

首先,如果您查看了帮助菜单,您可能已经意识到有一些命令模拟了基本的 *nix 命令,但是它们在文件系统上不工作,而是在我们文件中创建的数据库结构上工作。

我们将以打字为导向:

1ls

1=== Groups ===
2eMail/
3Internet/

正如你所看到的,我们的数据库被初始化为两组,称为电子邮件互联网。KeePass将密码和相关数据存储在一个名为入口的结构中。

您可以使用mkdir命令创建额外的组:

1mkdir test

要删除组,您可以使用rmdir命令:

1rmdir test

创建一个密码输入

让我们创建我们的第一个入口。

我們想儲存我們的「example.com」密碼. 這是一個網站,所以將其儲存在我們的「Internet」組中是明智的。

1cd Internet

现在,我们可以通过键入我们的入口:

1new

1Adding new entry to "/Internet"
2Title: example
3Username: demo_user

您将不得不选择一个名称,将用于识别数据库中的条目。接下来,它将要求您使用的用户名登录到网站。

1Password:                ("g" to generate a password)

之后,您将被要求提供密码. 如果您已经拥有您想要使用的密码,您可以在这里输入密码. 您将被要求验证您输入的密码. 如果您已经有密码,您可以简单地输入g来告诉 kpcli为您生成一个强大的密码。

1URL: http://www.example.com
2Notes/Comments (""):
3(end multi-line input with a single "." on a line)

您将被要求下次输入网站的URL,然后您可以输入有关帐户的评论或注释。

例如,如果网站要求您选择安全问题以恢复密码,这将是输入您选择的答案的好地方。

您将被告知数据库已更改,输入y以保存更改。

如果您现在列出该组的内容,您将看到您有一个新的条目:

1ls

1=== Entries ===
20. example www.example.com

您可以用领先的索引号码或您给出的标题引用此条目。

与现有入口合作

现在你有一个条目,我们可以学习一些如何操纵现有条目。

若要编辑现有条目,您可以使用编辑命令,并按索引号或标题调用它:

1edit 0

您将通过一个接一个的输入字段进行,这些字段将预先填充到您之前的选项中,只需点击输入即可接受您想要保留的任何字段的值。

要显示一个条目的内容,您可以使用显示命令:

1show 0

1Path: /Internet
2Title: example
3Uname: demo_user
4 Pass: 
5  URL: http://www.example.com
6Notes:

当输出显示在屏幕上时,密码将被红色(如果您的终端支持彩色输出)块掩盖。基本上,这是红色背景上的红色文本。

如果您想在屏幕上显示密码,您可以添加-f旗:

1show -f 0

1Path: /Internet
2Title: example
3Uname: demo_user
4 Pass: _OZ1oMyZiC4ceydUDVvC
5  URL: http://www.example.com
6Notes:

您还可以添加-a旗,以打印其他信息,如创建和最后修改时间。

要删除一个条目,您可以使用rm命令:

1rm example

您将不会被提示是否真的想要删除该条目,所以要小心。您将被要求是否想要保存这些更改,所以如果您意外删除一个条目,请尝试不要保存。

要将条目移动到另一个组,您可以使用mv命令:

1mv 0 /eMail/

要找到一个条目,你可以使用找到命令:

1find example

1Searching for "example" ...
2 - 1 matches found and placed into /_found/
3Would you like to show this entry? [y/N]

正如输出所示,结果将在一个名为/_found的新组中可用。 如果您不希望保留该组,您可以随时删除该组。

其他 kpcli 命令

有一些额外的命令,你应该学习如果你要使用 kpcli。

要重命名一个组,您可以使用重命名命令:

1rename Internet

1Enter the groups new Title: internet

如果你想检查你选择的密码的强度,你可以使用pwck命令:

1pwck /

这将反复检查您的所有密码. 您可以只是指向一个单一的输入。

要查看有关您的数据库文件的一些统计数据,您可以使用stats命令:

1stats

1KeePass file version: 2
2Encryption type:      rijndael
3Encryption rounds:    6000
4Number of groups:     2
5Number of entries:    1
6Entries with passwords of length:
7  - 20+: 1

最后,为了结束您的会话,您可以明确保存您的更改:

1save

您可以关闭您目前正在处理的数据库文件,并通过键入继续使用 kpcli:

1close

或者您可以通过键入完全退出 kpcli:

1exit

结论

在本指南中,您了解了如何使用kpcli工具与KeePass2密码数据库文件进行交互和创建,您应该能够从您的服务器环境中相对轻松地处理条目和文件。

在下一个指南中,我们将向您展示 如何使用 nginx 服务您的数据库文件,以便您可以与您的远程数据库与本地 KeePass2 安装进行交互。

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus