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。

11 Replies to “Goodbye , LastPass . Hello , KeePass !”

  1. 我刚开始使用keepass,firefox配合keefox插件 或者 Chrome配合ChromeIPass 。
    有个问题是每次打开浏览器之后keefox都弹出框让我输入授权码,然后从keepass的一个授权界面copy它过来。
    每次都这样,很麻烦,如何跟方便一点儿呢

    1. 我的 KeeFox 只在火狐更新,或者 KeePass 更换数据库后才会弹出输入提醒。
      你可以试试在 KeePass 中的“选项”->“KeePass RPC Options”中,找到“Connection Security”这个标签页,修改其中的“Authorization expires after”选项,将其改大一点试试。

      并且,在这个标签页中的“KeePass Security Level”和“Mininum Accepetable client security level”,都修改为“Medium”,然后回到 Firefox ,在“工具”->“KeeFox选项”中,找到“连接安全”,并把两个选项同样修改为“中”。

      我能想到的,在以上两个情况下可能会导致你的问题出现。如果这样操作还没有解决问题,你可以尝试向 KeeFox 开发组报告。如果你找到了解决方案,欢迎留言告诉我 🙂

  2. 不要用keepass touch (ios)版,或者要用的话得频繁备份,否则就会像我一样,因为在某个密码下面的备份里写下了一些看上去无害的ubuntu代码用于备忘,结果整个数据库都打不开了,在手机上提示无法解析数据库,用keepass电脑版导入数据提示有无效16进制数据在某行某列,用修复功能只能找回其中一个门类的部分密码,还是旧的,修改过的新的密码没能找回来。积攒了多少年的密码付诸一炬。现在恨不得去看keepass的源码找出修复数据库的可能性。。。。
    Ps: 这个keepass touch我用了整整三年,存储的密码是从02年开始到19年间所有的密码,其余格式的备份无论是txt还是xls还是备忘录通通没了。。。。连重新收集的可能性都没了。。。

    1. 在我买 MacBook Pro 之后我就已经切到 1Password 了。
      你在手机上用 keepass 的话,是通过什么同步数据库的呢?只是本地保存吗?如果仅本地保存,遇到数据库被损毁的情况,可能真的很难救。我觉得通过手工解密有很大几率救回来。
      如果并非只有本地保存,各种云盘是有版本历史功能的,通过版本历史应该也有救。
      祝你顺利。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

code