昨天晚上,着手解决一下 Linux 下密码管理的问题。
过去,几乎我在所有网站上的密码,都是同一个。这个密码也是我的第一个密码,是我在注册我的第一个电子邮箱的时候取的。由于是第一个电子邮箱,所以显得很神圣,除了我取了一个非常不靠谱的名字外,连密码也要思考许久,最终定下了这个,所以印象极为深刻。后来,我也思考过其他密码,还用一个破本子把我所有的账户和密码都记下来。后来账户渐渐多了,查阅本子很不便,所以干脆就用同一个密码。这样很方便,特别是后来流行用电子邮件做用户名,所有的网站,都是同一个帐号,同一个密码,绝不会搞错,我为此得意了很长时间。
直到发生了密码泄漏、社会工程等事件,我才意识到这样的危险性。然后就是该密码了,自然而然的用了 LastPass 来进行管理。后来有了 iPhone,就买了 1Password,一直用的不错。
可惜,苹果就是这样。它为我们组建了这样一个完美而又封闭的生态圈,离开了它,我们就无所适从了。所以,到了 Linux 上,我就抓瞎了。之前我在听 Linux Action Show 的时候,听到过 pass 这个软件,不过不知道该如何导入 1Password 的密码,所以就干脆用 LastPass。这个可以导入,不过,同步是没有办法的。有的时候,我嫌这样麻烦,干脆自己写了个脚本,把 1Password 导出的 csv 格式的密码文件放在自己的目录里,用这个脚本调用 ack 做搜索,然后再手动复制密码,这样凑合着来。
这次,我不想再安装 LastPass 了,所以就沉下心来研究一下。至于导入,我想的是写一个脚本,解析 1Password 的导出文件,然后执行 pass insert 命令来添加。不过,emerge 给出的提示显示,有 importer 这个 USE 标记,明显就是导入工具,我就加上了它。之后,看了一下源代码,里面有从 1Password 导入的脚本。我用它来解析 1pif 文件不成功,不过 1Password 导出时选择 csv 格式,再用 pass 的导入工具导入就可以了。
不过,我的密码库疏于整理,导入后显得有点乱,而且还有重复,不过至少用着还可以。