介绍
安全性是我们在互联网上必须关心的事情,为您的在线帐户拥有强大而独特的密码可以使您的信息保持安全,并孤立安全漏洞。
随着像 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 安装进行交互。