Goodbye , LastPass . Hello , KeePass !

一直以来我都高度依赖 LastPass ,由于自己的分级密码策略,我实在是记不住哪些网站用了哪些密码。好在有了 LastPass ,让我的生命中少了一大堆烦恼。

随着审美观的提高,我不断发现 LastPass 的致命软肋。如,密码数据库保存在服务器上;又如,连接经常不够稳定;再如,保存密码流程真真是二逼兮兮的。直到我发现了 KeePass ,这一切都不再烦恼。

KeePass 是一个优秀的开源密码管理方案。由于其并不把数据存放在服务器上,因此一切关于网站会不会一直存活下去的担心皆可避免;另外由于其开源的特性,让你的选择不只有一种——光是 iOS 客户端就有长长的一串。

这里我选用的是官方的 KeePass 2.25 。在 KeePass 里很容易把 LastPass 的数据导入进来,只需点击文件->导入->LastPass CSV,即可导入 LastPass 导出的 csv 文件了。

KeePass丰富的导入功能

在这张图里也可以看到,KeePass 能够导入各种各样的格式。

导入之后,就可以开始使用 KeePass 了。这里顺便介绍一些实用的插件。

首先是配合 FireFox 使用的 KeeFox 。在 Mozilla 扩展中心下载 KeeFox 之后,关闭 KeePass ,根据提示选择安装路径,即可安装 KeePass 插件。这时启动 KeePass ,右键点击你存放密码的目录,选择 Set as KeeFox start group ,就算配置完成了。之后直接在 Firefox 中就能享受到 KeePass 的贴心了。

然后是 KeeOtp 。这款插件支持将 Google 二次验证导入 KeePass 中,这样就不需要去找手机了,同时手机丢失了也不怕, KeePass 里还有备份。插件的用法很简单,右键点击条目选择 Timed One Time Password ,复制粘贴网页中的密钥,就能成功设置了。

另外给出几个小提示。

其一是自动登录 KeePass 的方法。 KeePass 确实够好用,可是问题是每次都输入长长的密码实在是很不环保啊!KeePass 提供了-pw:123456这样的命令行参数,但是把密码写到命令行里恐怕和没有密码没区别。解决的方法,是使用内置的{PASSWORD_ENC}功能和-pw-enc命令行。根据官方说明,{PASSWORD_ENC}是一种只限当前用户使用的加密功能,也只有 KeePass 能够解密,所以可以安心使用。

具体的方法是,创建一个条目,用户名随意,密码写成你的 KeePass 的密码,在编辑->自动输入中选择“替代默认规则”并写入规则:{PASSWORD_ENC}确定保存。然后在 KeePass 目录下新建一个文件,叫 start.bat ,用记事本打开,输入:start KeePass.exe "(KeePass数据库目录)" -pw-enc:。此时将光标放到最后,切换到 KeePass 里,右键刚刚的条目,选择“自动输入”。然后……你就可以看到你的记事本里的字符在疯狂的跳动,大概十多秒的样子输入了一大堆 Base64 编码的玩意。现在,可以保存关闭了,下次双击 start.bat 就可以自动登录了。至于安全性嘛……总之不能和便利性同在。

KeePass密码加密

其二是自动保存的触发器。点击“工具->触发器”,左下角的“工具”中粘贴下面的脚本即可:

<?xml version="1.0" encoding="utf-8"?>
<TriggerCollection xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Triggers>
        <Trigger>
            <Guid>EXkzOtjQEEqLvtvmzbDD+Q==</Guid>
            <Name>自动存盘</Name>
            <Comments>via http://best33.com</Comments>
            <Events>
                <Event>
                    <TypeGuid>jRLUmvLLT/eo78/arGJomQ==</TypeGuid>
                    <Parameters />
                </Event>
            </Events>
            <Conditions>
                <Condition>
                    <TypeGuid>08r67ygqRkqZkNhl/OAW7Q==</TypeGuid>
                    <Parameters />
                    <Negate>false</Negate>
                </Condition>
            </Conditions>
            <Actions>
                <Action>
                    <TypeGuid>9VdhS/hMQV2pE3o5zRDwvQ==</TypeGuid>
                    <Parameters />
                </Action>
            </Actions>
        </Trigger>
    </Triggers>
</TriggerCollection>

其三是自动同步。这个嘛比较简单,数据文件放到 OneDrive/DropBox/Google Drive 里就好了。为什么是这三个网盘呢?因为 KeePass2Android 只支持这三个网盘……

当然了,你有自己的 FTP/WebDav 服务器啥的也是可以直接用 KeePass 打开的,只不过存盘太慢了……所以还是用同步盘吧XD。