使用KeePassXC,KeePass2Android,坚果云和onedrive实现密码管理
个人笔记,如有转载,请注明作者和出处。
——by realasking
由于网络越来越深入自己的生活,身边的数字化设备也越来越多,很早以前,我就已经辗转腾挪于各种密码管理软件之中了,经过多次迁徙,一度停留在keepassx2上很长的时间。但是,该软件在linux下表现良好的同时,在windows下却缺少一些功能,比如不能实现在linux下一切正常的自动填充密码(Auto-fill),还有不能记忆授权文件,而且也缺乏网络同步的功能,随着密码数量的增加,感觉已经越来越难以为继了。
于是我决定换一款软件试试,但是必须是继续保持原有的数据库格式(keepass2格式)。这期间,尝试了多款兼容产品,也重新尝试了keepass的原始版本,但是都不那么令人满意,直到找到了keepassxc。相比于keepassx和keepassxc,其实原始的keepass是更为强大的,比如它可以直接通过webdav打开网上保存的数据库文件,可以直接auto-type输入对应网站的密码而不需要人工选择(auto-fill),再比如可以加上插件,但是它的问题和它的强大一样令人印象深刻,比如它的auto-type对于不少国内网站都是失效的,按下热键常常并不能自动输入密码,还有有时明明已经点击页面user框,但填充密码却出现在浏览器的搜索框中,它的webdav操作坚果云也似乎还不如坚果云客户端直接对文件增量同步来的快,而chromeIPass的输入一次密码自动保存也时灵时不灵,特别是对一些不那么标准的登录框......经过几天折腾,我不得不怀着复杂的感情,暂时放弃了它,也许它确实代表了未来,但现在显然还不完善。
折腾keepass之后,问题似乎又回到了原点,不过网上关于keepass的用网盘保存密码数据库的思路还是可以借鉴的。冷静的想想,其实在增量同步的前提下,虽然手机可以籍由webdav减少传输数据并提升网络安全,但电脑间同步似乎并不一定要如此,特别是个人使用,网速又较快的情况下,同步产生多个无法合并副本的概率应该不大,那么,我们完全可以直接用网盘保存密码数据库,并同步到本地打开,对于手机,依旧打开webdav,虽然不像完全使用webdav看上去那么美好,但只要放置好自己的数据库,其实也无伤大雅。
但是keepassx2不能在windows10下实现auto fill的问题一定得解决,不然老是使用复制密码的做法,在周围有多人一起办公的情况下,因为ditto、欧路词典等工具的使用,很容易造成无意间的密码泄漏。在到处搜索中,最后从archlinux的wiki上看到了keepassxc,在linux下试用了一下,它的功能与keepassx差不多,那么在win10下呢?将它也安装到win10上之后,发现虽然它界面汉化不如keepassx,但是功能上却都是完好的,包括授权文件的记忆,auto-fill的实现,都是完好的,那么,就是它了。
基于授权文件(key file)的重要性,把它和数据库放在同一个网盘上显然是不合适的,由于它一般不会频繁替换,所以保存它的网盘也不需要有那么高的访问速度了,有鉴于此,最终我确定下来用坚果云建立同步文件夹保存并同步密码数据库文件、以onedrive保存并同步授权文件、以KeePassXC替代KeePassX2在电脑上管理密码和用KeePass2Android在手机上通过webdav管理密码的方案。
具体实施如下:
linux下:
1.安装keepassxc:
yaourt -R keepassx2
yaourt -S keepassxc
2.生成授权文件:
打开keepassxc,并打开数据库,然后点击database->更改主密码,修改密码,勾选密钥文件,点击创建,将其保存到onedrive的同步目录下(我的是双系统,重启进入windows后会完成同步,现在由于微软的调整,非ntfs格式分区下已经不能与onedrive同步了,所以linux下的同步工具onedrive-d也已经失效)
3.配置数据库同步和webdav:
用浏览器访问坚果云,点击登录,点击用户名窗口,打开keepassxc,点选坚果云的用户Entry,然后按下Ctrl+v,登录坚果云。这一步要注意,不要处于中文输入状态。
登录后,点击窗口左侧创建->新建个人文件夹,完成后将数据库上传到新建的文件夹中,与网上一些只使用webdav的方案不同,这里需要保证文件能同步到本地。
点击右上角自己的用户名,点击账户信息->安全选项,在第三方应用管理中添加应用密码,应用名可以起为keepass。
然后记录下生成的密码,记录下服务器地址,账户。
4.在系统弹出的坚果云的提示信息指引下,设置一个放置密码数据库的同步文件夹。
5.删除本地原有的密码数据库,并重新打开keepassxc,打开从坚果云上同步下来的数据库,其授权文件选择第2步生成的。
windows下:
1.下载并安装keepassxc
2.在坚果云提示信息指引下配置一个放置密码数据库的同步文件夹
3.打开keepassxc,添加授权文件,打开数据库,并等待onedrive同步完成
手机下:
1.安装onedrive for android,并同步授权文件
1.用谷歌市场或APKPure安装KeePass2Android
2.打开文件时选择https(webdav)那一项,选择认证方式那里选密码加授权文件
3.文件地址填坚果云给出的那个地址加上/你创建的文件夹/你的数据库名,授权文件点系统文件,然后选从onedrive上同步下来那个授权文件
4.点击三个竖点那个按钮,点击设置
5.点击应用程序->安全,勾选在锁屏时锁定,离开应用时锁定,记忆数据库,保存密钥文件,然后返回
6.确保快速解锁项目均被勾选
7.返回
8.点击数据库,点击指纹解锁,选择启用完整的指纹解锁,设置完成后返回
9.点击将密钥文件导入到内部文件夹
然后一路返回,在快速解锁那里关闭数据库即可。
至此,手机和电脑的设置全部完成,密码可以半自动的管理了。