Chromebook上使用KeePass的几种姿势

KeePass 是一个开源的轻量级密码管理器,只需要记住一个 KeePass 主密码就可以用来管理所有其它各种网站或者服务密码,相对于 LastPass 这种在线同步的密码管理器最大的好处就是 KeePass 的密码数据库是完全由用户自己来掌控的,不用担心像 LastPass 被攻击泄漏密码之类的问题(今年就出现过一次哦)。

KeePass 目前相对也有个劣势就是浏览器插件功能不强,基本都需要配合 KeePass 客户端软件使用,好在 KeePass 也支持 Windows、Mac OS X、Linux、Android、iOS 等各种操作系统,可惜目前在 Chromebook 这种不能直接运行客户端软件的系统上使用时会有一些障碍。LastPass 由于是通过 Chrome 浏览器扩展直接在线同步的没有这个问题,而你如果是 Chromebook 和 KeePass 的重度用户,那还是相当不便的。

有关 KeePass 的详细介绍和原理请参考其官方网站:http://keepass.info/

经过初步研究,这里我列出几种在 Chromebook 上使用 KeePass 的方法供读者参考:

  • Crouton + keepass2 + chromeIPass:

这个方法可能暂时只适用于使用 x86 处理器的 Chromebook,Chromebook 上可以使用 Crouton 安装基本完整的 Linux 系统,安装完成之后可以直接在 Linux 系统中安装 keepass2 软件包(比较新的 Linux 系统软件源中一般会自带这个的),并从 KeePass 官网下载启用 KeePassHttp 插件,这样就可以在 Chrome OS 系统里安装 chromeIPass 扩展愉快的使用 KeePass 密码数据库了。

这里就不详细介绍 keepass2 软件如何安装,chromeIPass 扩展如何使用之类的了。无奈由于目前 armhf 版本的 Linux 系统自带的 mono (KeePass 图形程序依赖开源的 mono .NET 开发环境)版本的问题,armhf 下的 keepass2 可以安装但无法正常运行。

笔者在目前使用的三星 ARM Chromebook 安装的 Ubuntu 14.04 版本上就无法正常运行,将 Crouton Linux 系统升级到最新的 Ubuntu 15.04 或者 15.10 等系统(自带的 mono 环境已经升级)有可能能正常运行,这里没有继续尝试了。

  • CKP Chrome 扩展程序:

CKP (KeePass integration for Chrome)是 Chrome 应用商店里的一款 KeePass 嵌入式扩展程序,安装之后导入 KeePass 数据库就可以实现访问网站时自动填入用户名和密码,可惜就是 CKP 只能以只读方式使用 KeePass 密码数据库,如果数据库文件变化了只能重新导入(Chromebook 上还没有太好的办法能直接修改密码数据库文件)。

CKP 同时功能上也存在限制:无法完整浏览密码数据库里的全部条目,如果某个服务密码存在密码数据库里但不能直接通过 Chrome 浏览器访问这样就没法取出密码了。

  • BrowsePass Chrome 应用:

BrowsePass 则是另一款独立的 Chrome Packaged App,因此不能实现根据当前浏览的网页自动填写用户名和密码的功能,这个 App 目前对密码数据库文件支持文件好,可以完整浏览全部目录和条目,可以复制密码到相应的网页,但是仍然还有一个主要问题:BrowsePass 目前也只支持只读方式打开密码数据库,作者说后续可能会增加写数据库支持,但不保证什么时候能加入的。

  • Chrome ARC + KeePassDroid:

这个是目前我正在使用的方法,主要这种方式完全支持对密码数据库的各种写入操作,不需要另外运行一个 Crouton Linux 系统,而且这也是比较通用的方法哦,不只是能在 Chromebook 下使用,其实也可以直接在 Windows、Linux 等其它安装了普通 Chrome 浏览器的系统下使用。

Chrome 现在支持通过 ARC(App Runtime for Chrome) 直接运行 Android 程序,虽然目前兼容性还不是特别好,但 KeePassDroid 这种没有使用 NDK 代码的简单 Android 应用还是完全支持的。

首先安装 ARC Welder Chrome 应用,安装完成之后会自动安装其依赖的 App Runtime for Chrome 运行环境,然后从网上下载 KeePassDroid 的安装 apk 文件,打开 ARC Welder 应用加载对应的 apk 文件将其转换为 Chrome 应用,不过需要注意的是转换的时候必须启用剪贴板访问权限,而且记得增加这个参数:

{“enableExternalDirectory”: true}

启用外部 SD 卡目录访问权限,这样转换出来的 KeePassDroid Chrome 应用才可以正常打开 KeePass 密码数据库文件,具体如下图所示:

ARC Welder转换KeePassDroid

ARC Welder 转换 KeePassDroid

然后点击 Download ZIP 按钮保存成 zip 文件,并将 zip 文件解压缩并在扩展程序界面加载为 Chrome 应用。

第一次启动 KeePassDroid 应用时 Chrome OS 系统会提示你选择一个 SD 卡目录,选择之后会让你选择密码数据库文件路径,只要把你的 KeePass 数据库文件放到对应的路径打开即可,例如我使用的路径就是这样:/storage/sdcard/Download/zzm.kdbx。

选择密码数据库文件之后输入你的数据库主密码,KeePassDroid 就会列出数据库里的所有目录和条目,进入一个任何条目,KeePassDroid 会自动弹出通知消息提示你复制用户名和密码,这样就可以正常在各类网站上使用 KeePass 密码咯。

后记:

目前 GitHub 上的 Pascal Mathis 开发了一款基于 Node.js 的 KeePass 库:keepass.io,这个 Node.js 库实现了完整的密码数据库读取和写入功能,在和开发者简单沟通之后,有想法在后面有空时基于 keepass.io 将其完整功能改为通过 Chrome Filesystem 等 API 实现从而不依赖 Node.js,这样能以单独 Chrome App 的形式使用 KeePass 密码数据库。只是在发现 KeePassDroid 能正常使用的情况,这个就当作后面有空时的一个念想再说咯~~~ 祝各位玩的开心。 ^_^

  1. Unee Wang:

    原来还有后记了。我再等等,现在是安利别人用,迟早自己也会用了

  2. admin:

    现在我是手机、电脑、Chromebook全都依赖KeePass了,另外新年快乐咯





*