本文以Waye大佬所写的KeePass全网最详使用指南为基础,修订为Rev版。

更新

原文具体更新如下:

  1. 去除知乎广告弹窗链接,直接跳转到原网址
  2. 修改失效插件,更新新插件[名字、下载地址、使用方法]
  3. 增加更多keepass设置方法
  4. 补充ios端说明

前言

  • 警告请不要下载和使用任何非官方来源的KeePass应用程序及第三方插件。包括但不限于各种精简版,修改版,增强版,一键安装版等。KeePass完全免费,官方提供简体中文。
  • 本教程仅适用于Windows,chrome和Android平台
  • 文中的下载链接均来自于KeePass官方网站(如有例外会特别注明)。
  • 本文介绍了keepass(Windows)及其11个插件(包括chrome平台)以及Keepass2Android(安卓)的配置使用,特殊技巧和注意事项。
  • 本文增加ios端的配置

为什么写这篇教程?

  1. keepass虽然功能强大但使用相对复杂,而且官方帮助文档是全英文,对普通用户不友好;
  2. 网上所能找到的中文教程都不完整。如果说看了网上的教程去试用keepass你有80%的可能会放弃,那么看完本教程后90%的可能你今后不会再用除keepass以外的任何其他密码管理软件。

Keepass与同类软件相比究竟有何优势?

  • 最直观的优势当然是完全免费
  • 最实际的优势:今后基本可以告别手动输入账户密码。(在此建议将所有密码更换为16位随机强密码)
  • 最强大的优势:这是一个开源软件,拥有众多优秀的第三方开源插件支持。即使将来有一天开发者不更新了也会有其他开发者接手。
  • 最重要也是最容易被忽略的优势:keepass的加密方式和加密算法均处于同类软件的领先水平(至今未暴露出任何安全隐患) ,你的数据完全掌握在自己手中,无需将任何敏感信息托付给第三方服务商。
  • 一图胜千言,来张动图感受一下keepass双通道自动输入混淆的逼格吧!

双通道自动输入混淆

那么这篇教程能达到什么效果呢?

  1. 替你节省至少90%摸索学习的时间;
  2. 让你在三小时之内熟练使用keepass;
  3. 学会一项受益终身的技能,一劳永逸

正文开始前,先放上所有官方下载地址。注:Github地址中下载页面中后缀为.plgx的文件即可。另:无法正常访问地址的均额外提供本人的度盘分享链接。

下载地址

KeePass(Windows)篇

(1)中文语言包安装

  1. 安装并运行keepass(安装时默认英文,无中文可选);
  2. 点击主界面中的【View】→【Change Language】;
  3. 点击【Open Folder】打开keepass的语言安装文件夹;
  4. 解压下载的中文语言zip包,将解压后的文件复制并粘贴到步骤3打开的文件夹中;
  5. 重复步骤2,选择【Chinese_Simplified】,点击弹出框中的【是】重启keepass。

中文包安装路径

(2)插件安装

  1. 在keepaass主界面中点击【工具】→【插件管理器】→【打开文件夹】;
  2. 将下载的后缀为.plgx的文件复制并粘贴到步骤1打开的的文件夹中(zip包请先解压);
  3. 关闭然后重新打开keepass。
  4. (度盘下载的chromeIPass插件安装方法:点击chrome浏览器右上角的三个点→【更多工具】→【扩展程序】,在打开标签页的右上角启用开发者模式→将下载的crx文件拖动到此标签页)

插件安装路径

(3)数据库同步和加密方式

如果你在使用Windows10,建议将keepass数据库直接存储在OneDrive文件夹中。因为OneDrive已经集成到了Windows文件资源管理器中,而且OneDrive网页版可查看文件版本历史记录和回收站,即使操作失误或误删文件也有补救的余地。

在创建数据库时keepass提供了3种可任意组合的加密方式:【管理密码】【密钥文件/提供器】和【Windows 用户账户】,也就是说一共可以组合出8种不同的加密方式。追求更高安全性可以了解一下OtpKeyProv:每次打开数据库需要输入至少3个一次性的6位数安全码,但是必须要有一个YubiKey硬件或一台装有Google身份验证器的备用手机,而且这种加密方式的容错率和安全性有所冲突,本文篇幅所限不再赘述。所以综合安全性,易用性,跨平台等多方面因素,建议使用【管理密码】+【密钥文件/提供器】的加密方式。其中【密钥文件/提供器】可使用任意类型文件(图片,文档,音频,视频等),它的工作原理是使用SHA-256对密钥文件进行哈希处理并将生成的32个字节用作密钥,因此请妥善保存密钥文件,不要随意修改(重命名无影响)。你可以使用一张家人的照片,一首喜欢的歌或一段不可描述的视频作为密钥文件,谁又能猜得到呢?(使用100mb以上的文件作为密钥文件会明显影响解锁速度)

强烈建议:可以把密钥文件和数据库文件分别存在多个云盘备份。

加密方式

数据库配置的【安全】选项卡中有一个【迭代次数】,次数越高数据库越难被暴力破解,但每次打开数据库和保存记录的耗时也越长。默认值为60000,我将它设为500000,在Keepass2Android(安卓)上打开时间为5~6秒,可供参考。

迭代次数

为使你的主密码更安全,请在keepass的【选项】→【安全】中勾选【在安全桌面输入管理密码】,因为几乎没有键盘记录软件能在安全桌面工作。

安全桌面

(4)自动输入和双通道自动输入混淆

自动输入顾名思义就是用软件模拟按键以代替手动输入,需要注意的是如果目标应用程序使用管理员权限运行,那么keepass也必须使用管理员权限运行才能在此应用程序中使用自动输入。通俗点讲,当你打开一个程序弹出了【用户账户控制】警告(UAC),那么要在这个程序中使用自动输入必须右键点击桌面上的keepass图标,选择【以管理员身份运行】。自动输入全局热键默认为【Ctrl + Shift + A】。使用方法非常简单:点击输入框→按下自动输入全局热键;或点击输入框→切换到keepass主界面→右键单击记录→【执行自动输入】

双通道自动输入混淆不仅逼格高(具体效果如上面动图所示),而且非常强大。它的工作原理简洁明了:将要输入的字符随机分为两部分,然后使用模拟按键和复制粘贴两种方式混合输入,输入完成后再还原输入前的剪切板内容。这样一来,单一的键盘记录软件或剪切板监听软件都无法窃取到输入的完整字段。由于某些软件的输入框没有移动光标或不支持粘贴操作,因此这个功能默认不启用。必须在添加或编辑记录时点击【自动输入】,勾选【双通道自动输入混淆】。这无疑增加了普通用户的使用成本:为一条记录启用双通道自动输入混淆需要额外点击3次,对于有上百条密码的用户来说绝对是一场灾难。下文将给出一劳永逸的解决方案。

自动输入匹配规则:当按下自动输入全局热键时,keepass会根据当前活动窗口的标题在数据库中搜索相匹配的记录;如果一条记录的标题或网址包含在活动窗口标题内那么这条记录将被匹配。
举个例子:在chrome浏览器中打开淘宝网,当前活动窗口的标题就是“淘宝网 - 淘!我喜欢 - Google Chrome”。那么问题来了:标题为“Google”的记录也会被匹配到,而且在chrome中打开的任何标签页的标题都会包含“Google Chrome”字段。
因此为防止误输密码,请务必在keepass的【工具】→【选项】→【高级】中勾选【总是显示全局自动输入记录选取对话框】

自动输入选项

最后一点是自动输入的键入规则,默认规则为{USERNAME}{TAB}{PASSWORD}{ENTER}。解释:输入用户名,Tab键(换行),输入密码,回车键。但这套规则明显不适合中文用户,因为使用自动输入时输入法必须是英文,否则会出现很尴尬的场面。
本文推荐使用以下规则
+{DELAY 100}{CLEARFIELD}{USERNAME}{TAB}{PASSWORD}{ENTER}。
解释:Shift键(Windows10输入法切换),等待100毫秒,清空输入框,输入用户名,Tab键(换行),输入密码,回车键。由于新建记录默认从群组继承输入规则,所以只需修改一次即可,一劳永逸,具体操作见下图。注:使用此规则自动输入时请确保输入法为中文

推荐规则

(5)Url匹配自动输入记录

正常使用谷歌浏览器,登陆页面自动输入记录,会多余显示与要登陆网页无关的谷歌记录。

这是keepass默认若其标题包含在目标窗口标题中,记录将被匹配的缘故
为了跟准确匹配自动输入记录,只好改为通过网址(URL)来匹配记录

未设置前有多条不符合记录

设置方法:
keepass工具栏-选项-按下图勾选


以下是设置后,自动输入面板效果图
设置后只留下符合记录效果图

(6)使用固定设置

这是一个很特殊的技巧,可以让你在每次打开keepass时使用固定的应用设置,类似于网吧电脑系统的重启还原。由于keepass密码锁定的是数据库而不是主程序,所以在电脑未锁定的情况下任何人都可以进入keepass主程序并更改设置。这个技巧主要用于应对以下两个场景:
1.熊孩子乱改你的keepass设置;
2.别有用心的人趁你不备在keepass选项中更改密码导出策略,在你下次打开数据库后忘记锁定或中途离开电脑时快速导出全部数据。但是这个技巧防小人不防高手,而且如果TA恰好也看过本文,那就只是多花一分钟的事了。所以还是建议养成随手锁定电脑的好习惯(Win键+L),不过拿来对付家里的熊孩子绰绰有余了。

配置方法:打开keepass的【工具】→【选项】,设定好你需要设置→【确定】;打开Windows文件资源管理器,点击选项卡【查看】,勾选【隐藏的项目】。打开文件夹C:\Users(用户)\User Name\AppData\Roaming\KeePass,将文件夹中的KeePass.config.xml重命名为KeePass.config.enforced.xml,然后将它剪切并粘贴到文件夹C:\Program Files (x86)\KeePass Password Safe 2即可。如需取消,请删除KeePass.config.enforced.xml文件。

文件路径

(7)其他概念

替代URL:使用指定的应用程序(浏览器)打开URL。

TAN (transaction authentication number):一次性验证码,通常在启用网站两步验证的同时会提供多个备用验证码(TAN)。keepass中每条TAN用过后会打上╳并注明失效日期,非常实用。

  • 技巧:
  1. 由于TAN记录的标题不能自定义,因此建议为每个账户的TAN记录单独创建一个群组,这样不容易混淆;
  2. 在添加TAN时勾选【序号连续,开始于】,这样创建的每条TAN会有一个序号,以便识别和使用。
  • 添加方法:创建一个新群组(推荐)→点击群组→【工具】→【TAN 向导】。

添加TAN


KeePass(插件)篇

①KPSourceForgeUpdateChecker

此插件的作用是检查从SourceForge上下载的插件的更新信息。SourceForge是一个类似于GitHub的网站,本文中所有插件均来自于这两个站点。遗憾的是keepass主程序目前只能检查来自GitHub的插件的更新,这个插件刚好弥补了此不足。
需要注意的是此插件没有在keepass官网插件列表中列出,但是本文介绍的多个插件的开发者都建议使用此插件检查更新,而且此插件在SourceForge网站上keepass开发者参与的多个帖子中被人提及,keepass开发者并未指出此插件有风险
总而言之,请酌情下载和使用。

②KPEnhancedEntryView(推荐)

增强记录视图:提供颜值更高的查看视图,支持一键查看/隐藏所有加密字段(F9),安装后可在keepass主界面直接添加备注和附件,显著提升用户体验,可以说是必备插件。

安装插件前

安装插件后

为达到最佳显示效果,请按以下说明配置:

  1. 在keepass主界面中点击【显示】→【窗口布局】→【平铺】;
  2. 在keepass主界面中点击【显示】→【列设置】,取消勾选除【标题】以外的所有选项→【确定】。

③KPEntryTemplates

更美观,更简洁,更高效,可全面定制的模板编辑器,说它是神器也不为过。当初我的一百多条账户密码全部是手动转移到keepass中的,顺便也把所有账户的密码都改成了随机强密码,要是没有这个插件可能要多花两到三倍的时间。没有对比就没有伤害,直接上图。

配置方法:

  1. 点击keepass主界面的【文件】→【数据库设置】→【高级】,在【模板记录组】中选择一个群组→【确定】;
  2. 返回主界面,点击步骤1中选择的群组,按Ctrl+I键(或点击上方工具栏的钥匙图标)添加记录;
  3. 点击【自动输入】,勾选【双通道自动输入混淆】(以后用模板添加记录时就不需要再勾选了,一劳永逸);
  4. 点击最左边的【Template】→【Init As Template】;
  5. 配置所需模板→【确定】。
  6. (排序和删除方法见下图)

创建好的模板在Keepass2Android(安卓)也可以使用,下文会给出6套现成的模板设定图,足以胜任日常使用,要是没有耐心或不熟悉英文请直接按图配置吧

先将Template(模板)中的所有英文字段翻译一遍:

英文 中文 英文 中文
Title 标题 Inline 文本编辑框
Field 字段 Inline URL 文本网址
Field Name 字段名 Popout 弹出式文本编辑窗口
Type 类型 Protected Inline 加密文本编辑框
Opt 选项 Protected Popout 加密弹出式文本编辑窗口
Custom 自定义 Date 日期
Username 用户名 Time 时间
Password 密码 Date Time 日期时间
Password Conformation 确认密码 Checkbox 复选框
URL 网址 Divider 分割器
Notes 备注 Listbox 列表框
Override URL 替代URL RichTexbox 富文本框
Expiry Date 到期日

这么一大堆看上去容易头晕但需要记住的只有两个:Protected Inline和Listbox。Protected Inline用于存储支付密码等需要加密的字段;Listbox则省去了每次添加记录都要重复输入邮箱或手机号的烦恼,配置方法如下图。注意:分隔符是英文字符中的逗号

那么设置好的模板要怎么用呢?

  1. 【添加记录】→【Template】→【Set Template Parent】;
  2. 见下图。

6套常用模板配置图:

④KeePassHttp(推荐)

此插件需要配合下面的chromeIPass使用,形象点说它就是个传信的邮差。因为chromeIPass本身并不存储任何记录,所以当你在chrome浏览器中打开一个网页时,它就会询问KeePassHttp你的数据库中有没有关于这个网址的记录;如果有KeePassHttp会弹出一个对话框,点击【Allow】它就会将记录以AES 256算法加密然后通过http协议发送给chromeIPass从而实现网页自动填充。觉得每次都问很烦的话请勾选【Remember this decision】;这样还不够?那么请在keepass主界面中点击【工具】→【KeePassHttp Options】→【advanced】→勾选【Always allow access to entries】,这样它就再也不会问你了(不推荐)。

进阶技巧:添加记录时去掉网址的前缀。以百度为例:添加一条百度账户的记录时应将网址设为 https://baidu.com/ 而不是 https://www.baidu.com/ ,否则将无法在百度的一些子域名上实现自动填充,比如百度贴吧 https://tieba.baidu.com/ ,百度地图 https://map.baidu.com/ 等。不过复制粘贴我都嫌麻烦更不可能去手动输网址,还是那句话:下文将给出一劳永逸的解决方案。

⑤KeePassHttp-Connector (推荐)

推荐使用KeePassHttp-Connector-Edge版(推荐理由:已经汉化)

配置方法:点击chromeIPassKeePassHttp-Connector图标→【Connect】,在弹出的对话框中输入一个便于识别的名称(比如家里的电脑,公司的电脑等)→【Save】。

默认快捷键:填充用户名+密码:【Ctrl + Shift + U】 仅填充密码:【Ctrl + Shift + P】

这个插件除了能自动填充用户名密码外,还可以在数据库中新建记录和更新已有记录:当你在keepass数据库中未记录的网站上注册或登录时,或是在一个已有记录的网站上使用新的用户名或密码登录时,chromeIPass图标会变成一把红色的小锁并持续闪烁,点击图标即可新建记录或更新已有记录(新建记录存储在KeePassHttp Passwords群组中)。

chromeIPass的工作方式类似于chrome内置密码管理器,但需要注意的是它无法识别是否成功登录,也就是说登录网站时不小心输错用户名或密码chromeIPass图标也会闪烁。注:出现用户名或密码输入框识别不准确的情况可点击插件图标→【Choose own credential fields for this page】,然后自定义页面中的用户名输入框和密码输入框。

警告:请尽量不要使用此插件的密码生成功能,因为它在将密码复制到剪切板后无法自动清除。

关闭方法:点击chromeIPass图标→【Settings】→取消勾选页面中的【Activate password generator】。

使用此插件修改网站密码的技巧:
点击chromeIPass图标→【Settings】→取消勾选页面中的【Automatically fill-in single credentials entry】→打开网站的密码修改页面→按Ctrl + Shift + P填入原密码→在keepass主程序中修改此网站记录的密码→切换到chrome其他标签页→切换回密码修改页面→按Ctrl + Shift + P填入修改后的新密码。原理:这个技巧利用的是chromeIPass不存储记录的特性,每切换一次标签页chromeIPass就会让KeePassHttp检索一次keepass数据库。

扩展功能:结合IOS端奇密软件[付费12元买断],可实现远程填充。
如果临时需要使用他人的电脑,只需要在浏览器下载该插件。

远程填充方法:
①电脑和手机需要在同一网络wife内
②打开奇密→设置→远程填充→记住IP

③打开KeePassHttp-Connector插件,设置→常规→下拉到底端点击红色总显示这些设置→主机名填写刚刚奇密的IP。

④此时再点击KeePassHttp-Connector图标→点击连接Connect→奇密点击确定即可完成远程填充配置

⑥KeeTrayTOTP

TOTP是一种基于时间的一次性密码算法。绝大多数网站的两步验证都使用了这种算法,例如国外的谷歌,微软,亚马逊,国内的小米,163邮箱等。

TOTP两步验证的优势和劣势同样明显:

  • 优点:大大提高了账户安全性,不需要再忍受短信验证码的延迟;
  • 缺点:过于依赖移动设备,如果不小心卸载两步验证app,手机出故障或丢失就无法访问账户。需要输验证代码时手机没电了也很让人抓狂。

所以这个插件绝对是一个名副其实的神器,装上后手机上的Google 身份验证器,Microsoft Authenticator,小米安全令牌,Steam手机客户端等通通可以卸载掉,直接可在Windows上的keepass中生成两部验证代码,而且只需要在Windows的keepass上配置一次,安卓端的Keepass2Android无需任何设置可直接使用。以后换电脑换手机也不需要再重新配置,真真正正的一劳永逸

配置方法:设置网站两步验证时会给出一个二维码,通常在二维码下方会有一个【无法扫描条形码】(实际情况可能略有出入),点击后会显示一串密钥。复制密钥,打开keepass,点击要添加两步验证的记录,按Ctrl+Shift+I打开KeeTrayTOTP设置页面,将复制的密钥粘贴到【TOTP Seed】输入框中,【TOTP Format】选择6(8位的很少见,通常都是采用6位两步验证代码),点击【Finish】。

使用方法:点击记录,按Ctrl+T(或右键单击→Copy TOTP)即可将两步验证代码复制到剪切板;安卓端Keepass2Android中记录里的TOTP加密字段就是两步验证代码。

接下来说两个奇葩网站两步验证的设置方法:一个是小米:只能扫码,不给密钥;另一个是Steam:码都不给你扫,必须下载手机客户端。

  • 小米的很好解决,随便用一个二维码扫描软件就能获取密钥(TOTP Seed),下图中红色方框部分就是密钥。

  • Steam的稍微复杂一点,如果你的手机没有root请跳过这部分。

  1. 下载并安装Steam手机客户端,设置好Steam令牌;
  2. 使用已获取root权限的文件管理器(推荐使用FX File Explorer)打开目录:/data/data/com.valvesoftware.android.steam.community/files/,将目录中的Steamguard文件以文本方式打开,红色方框部分即为密钥(见下图);
  3. 复制密钥到【TOTP Seed】中,【TOTP Format】选择【Steam】,点击【Finish】,然后点击记录,按Ctrl+T将两步验证代码复制到任意文本框,确认与手机端steam令牌显示的代码一致后即可卸载Steam手机客户端。

⑦YetAnotherFaviconDownloader(推荐)

这个插件的作用是根据网址为数据库中的记录下载网页图标,可一次为多条记录下载。用法:在keepass主界面选中一条或多条记录→单击右键→【Download Favicons】。至于为什么叫YetAnother呢?因为它有个前辈叫FaviconDownloader,可以一次为全部记录下载图标,但是用起来比较糟心,下载多了容易卡死。

⑧AutoTypeSearch

上文中解释了keepass的自动输入匹配规则,但这个规则并不尽如人意,因为网站的标题不是一成不变的,尤其是电商网站的标题经常因为各种活动而发生变化。此时这个插件的作用就体现出来了:当按下全局自动输入热键没有匹配到记录时,它会弹出一个搜索框,搜索到所需记录后点击即可使用自动输入。同时还可以为AutoTypeSearch设置一个全局搜索热键:在keepass主界面中点击【工具】→【选项】→【AutoTypeSearch】→勾选【Show when system-wide hot key is pressed:】→点击下方输入框→按下你想使用的全局热键。

搜索记录

⑨WebAutoType

这个插件有两个功能:

  1. 让keepass的全局自动输入根据网址而不是浏览器窗口标题匹配记录。说实话真的不好用,必须为每条记录添加一次自定义规则,一百多条记录就是一百多次。有了chromeIPass的自动填充在chrome中很少能用到keepass的全局自动输入了,再说就算全局自动输入匹配不到记录不是还有AutoTypeSearch吗?
  2. 真正好用是它的快速添加记录功能,也就是上文提到的一劳永逸的解决方案:在keepass主界面中点击【工具】→【WebAutoType Options】→点击【Global hot key】输入框→按下你想使用的全局热键→【OK】。随便打开一个网页,按下全局热键,弹出的添加记录窗口中标题和网址都替你输好了,这个功能真是深得我心啊!

自动填充标题网址

⑩KeePass MSWifi

这是密码管理器KeePass 2. *的插件。它允许将Windows中保存的无线连接的信息导入到KeePass 2,然后再将这些信息导出回Windows。这可以用来备份现有的无线连接,也可以将它们从一个Windows系统转移到下一个Windows系统(希望以后也转移到其他系统)。

安装

⑪KeePassOneDriveSync(推荐)

此插件允许将多个本地数据库与存储在OneDrive中的多个数据库同步

插件安装方法:
①工具-插件管理器-打开文件夹-把插件复制到文件夹中。
②重启keepass完成插件安装


Keepass2Android(安卓)篇

这是最短的一篇,因为这个app简单易懂,不需要安装任何插件,该有的功能还一个不少:支持TOTP,支持指纹解锁/快速解锁,自动清除剪切板,禁止应用内截图,同步数据库(联网版)。在安卓8.0上Keepass2Android已经实现了应用内自动填充,8.0以下的系统可以使用内置键盘填充(见下图),永久告别手动输入(不得不吐槽某些反人类的银行app,自带输入法那么烂还好意思禁用第三方输入法)。

离线版同步数据库建议使用FolderSync(同步类型设为双向),root用户可用Tasker实现自动同步:检测到keepass数据库文件被修改+Wifi已连接→启用FolderSync同步。

最后提醒:Keepass2Android完全免费,内置中文,千万不要在除Google Play以外的任何网站或应用商店下载和使用【联网版

Keepass(IOS)篇

IOS端有strongbox-keepas&pwsafe[里面有免费版,不过我这地方网,好像要魔法才能OneDrive云同步]
最后还是忍痛花了十二买了奇密。(不愧是充钱才能变强大,导入数据库无比顺畅)
支持以下云导入数据库

设置:去ios设置界面-密码-自动填充密码-勾选奇密即可。

结语:

本教程到此正式完结,感谢坚持看到这里的各位。此时你可能还有一个问题:我那么多账户密码该怎么转移到keepass中呢?我的想法是:如果你打算使用keepass,那么也是时候把所有密码都更新一遍了
我密码大多数一般都在谷歌里:直接设置-自动填充-导出密码csv文件-导入到keepass
从Google导出图

一般只需要把我标有推荐的插件下载就够了。其他想要深究的可以自行了解,可以在本文基础上继续扩展。


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。