KeePass 教程

如今,我们的生活充斥着各色各样的密码。所谓密码管理器,就是用一个主密码来保护所有其他密码。使用密码管理器,可以减轻记忆负担,而且只要在主密码不泄漏或者遗忘的情况下,我们的账户安全就能够得到保障。

本文所要介绍的 KeePass 就是一款出色的密码管理器,KeePass 具有以下优点:

  • 简单易用,易于上手。
  • 功能全面,既能保存密码,还能生成健壮的密码
  • 开源软件,安全性更高
  • 跨平台软件,支持 Windows、Linux和 Mac 三大平台,甚至还有移动操作系统版本。
  • 移动版软件,便携绿色。

下面,我们一起来学习如何使用 KeePass。

1.下载安装KeePass

KeePass 有经典版本 1.x 和专业版本 2.x 两种版本,主要有如下两点区别:

  1. KeePass 2.x 需要 .NET 2.0 以上版本(Windows Vista 以上版本已经预装)才能运行,而 1.x 不需要任何依赖。
  2. KeePass 2.x 功能更全面,例如增加了双通道自动输入混淆功能。

由于 KeePass 2.x 功能更为全面,我推荐大家选用这一版本。下文将以 KeePass 2.x 版本为例进行讲解。

访问 KeePass 官网下载页面http://keepass.info/download.html,左栏的 Classical Edition 为 KeePass 1.x 版本,右栏的 Professional Edition 为 KeePass 2.x 版本,每一栏中都有两个下载链接,分别是 Installer EXE for Windows 和 ZIP Package,即安装程序和移动版本,请按照自己的需要选择下载。

KeePass 的安装过程非常简单,按照提示安装即可。

安装 KeePass 完成之后,请访问 http://keepass.info/translations.html 下载中文语言包,页面中 Chinese, Simp. 即是简体中文语言包(五星红旗处),注意选择对应版本语言包。下载解压之后将 KeePass 的语言文件(*.lngx)复制到 KeePass 的安装目录。复制完成之后启动 KeePass,选择 View 菜单,点击 Change Language,在弹出的对话框中选择 Simplified Chinese,KeePass 将要求重新启动,点击 Yes 重新启动 KeePass 即可。

对于 Ubuntu 用户,请参阅如何在 Ubuntu 中安装 KeePass 2 进行安装设置。

2. KeePass 教程

2.1 创建密码数据库

开始使用 KeePass 之前,首先需要创建密码数据库以保存密码,步骤如下:

  1. 启动 KeePass,选择文件菜单,选择新建选项。
  2. 选择数据库文件保存路径,请将其存放在安全之处并注意备份。
  3. 选择数据库保护方式,包括以下三种类型:

    • 主密码:最为传统的保护方式,输入足够健壮而又易记的密码即可。
    • 密钥文件:保存一个密钥文件作为访问密码数据库的凭据,选择这种方式必须注意密钥文件的安全。
    • Windows用户帐户:将密码数据库和 Windows 账户关联,只要使用当前 Windows 账户登录即可使用,但是如果重装系统的话请先导出当前账户,否则密码数据库将无法使用。

    三种方式可以叠加使用,但是推荐大家使用主密码的方式进行保护。

  4. 最后对密码数据库进行设置,包括数据库名称、加密选项等等,请按照自己的需要进行设置即可。

2.1 保存密码及自动输入

此处将以 Gmail 为例讲解如何保存密码和自动输入,步骤如下:

  1. 运行 KeePass,点击添加记录(或者按下 Insert 键),弹出添加记录对话框。

  2. 在记录标签页中需要填写的项目主要有以下几项:

    • 标题:需要输入密码的窗口标题,该信息是KeePass在全局自动填写时用于选择帐户密码的根据。在本例中为打开 Gmail 网址后,浏览器标题栏的部分内容,比如 Gmail。
    • 用户名:在本例中为 Gmail 账号。
    • 密码:在本例中为 Gmail 的登录密码。
    • 网址:用于按下 Ctrl + U 快捷键 快速启动相关网址或程序,在本例中为 http://gmail.com 。如果需要设置程序时则输入 cmd://程序文件路径,或者点击工具按钮,选择其中的网址:选择程序选项。
  3. 在自动输入标签页,还可以勾选双通道自动输入混淆选项,以阻止木马通过键盘记录窃取你的密码,但是只有支持 Ctrl + V 快捷键粘贴的窗口才能使用。

设置完成之后启动浏览器(如果设置网址的话可在选中相关条目后按下 Ctrl + U 启动),按下快捷键左 Ctrl + Alt + A(注意关闭中文输入法),KeePass 将自动输入密码并登录 Gmail。除此之外还可以先选择浏览器窗口,然后调出 KeePass(快捷键左Ctrl+Alt+K),在相应密码条目右击,选择执行自动输入,KeePass 就会自动输入账户密码,注意 KeePass 是按照前一焦点窗口的原则选择输入窗口的,所以请保证前一焦点窗口是正确的。

2.2 自定义自动输入方式

由于 KeePass 按照 {USERNAME}{TAB}{PASSWORD}{ENTER} 的序列输入密码的,一些网站或者软件不能正常登录。例如 TM 启动之后默认焦点是在密码输入框处,使用默认序列会出错。这时我们可以通过自定义自动输入序列来解决这一问题。

首先参照上述方法建立新密码条目,标题填入 TM,网址填入 CMD://”C:\Program Files\Tencent\TM2009\Bin\TM.exe”(由于目录中含有空格,因此必须包括英文双引号)。然后切换到自动输入标签页,勾选替代默认规则后,在输入框中输入以下内容:

+{TAB}{USERNAME}{TAB}{PASSWORD}{ENTER}

现在切换到 TM,按下左 Ctrl + Alt + A 即可自动登录。QQ 的设置与之类似,只要注意标题改为QQ即可。

下面我来介绍一下自动输入序列,默认输入序列是{USERNAME}{TAB}{PASSWORD}{ENTER},其中{USERNAME}是用户名,{PASSWORD}是密码,{TAB}是Tab键(用于切换焦点),{ENTER}是Enter键。一些特殊键的对应表可见官网文档 http://keepass.info/help/base/autotype.html#autoseq,上面所用的+所对应的就是Shift,和Tab组合之后可以跳到前一个输入框从而输入用户名。知道特殊键对应和写作规律之后我们也可以按照自己的情况写作特殊的自动输入序列。

2.4 生成安全密码

在新建密码条目时,点击确认密码文本框右侧的生成密码,选择打开密码生成器,就可以打开如下图所示的密码生成器。

在密码生成器中可以对密码生成方案进行配置,如密码长度、密码组成等等,设置完成后点击确定回到添加记录对话框,点击密码文本框右侧的用星号 显示/隐藏密码按钮,将密码复制出来用于注册,最后按照通常步骤添加密码记录即可。

上面就是使用 KeePass 的一些基本方法,除此之外,KeePass 还具有插件机制,请大家自行探索。

本文历史:

  • 2011 年 4 月 26 日:初稿完成
  • 2011 年 5 月 1 日:第一次修改
  • 2011 年 8 月 11 日:将标题由“KeePass使用全攻略”修改为“KeePass 教程”,删除“KeePass插件使用”一节,并精简文字。

69 Responses to “KeePass 教程”

  1. kita说道:

    這隻沙發kita拿走了

    • Terry Chen说道:

      kita速度好快的说!

      • kita说道:

        是的哦,想當年kita可是沙發一族的啊

        • Terry Chen说道:

          哈哈,我表示kita的沙发好难抢到。

          • 无冷说道:

            他那里一般很难抢

          • Roowe说道:

            kita的沙發還是被你搶了,那個代碼怎麼說,有木有鏈接給我看看。

            • Terry Chen说道:

              看看这个,http://www.cnblogs.com/Capricornus/archive/2010/02/05/1664446.html 我其实也忘了在哪里找到这个的,不知道这篇文章和我当时那个一不一样

  2. kita说道:

    今天生成了一個16位的random password給一個gmail郵箱的說

  3. roowe说道:

    除了银行那些有关钱的密码之外,我的常用密码就三个,懒得搞那么多,就像我们的ID一样,一个就好拉。

    • Terry Chen说道:

      密码少确实不太安全,但是我也是很懒,基本就那几个。现在主要的密码管理器是LastPass。本来想用KeePass的,就是因为Mono才不用。

      • Gryu说道:

        确实,我常用的密码也就两个,除了银行卡以外,所以这个东西对我来说是浮云,倒是账号比较多,很多时候是忘记了账号,密码却记得。很郁闷啊。

  4. roowe说道:

    还有你显示图片用的是什么插件呢?

  5. 无冷说道:

    密码强度对我来说感觉没有太大差别,一个键盘记录,再长的密码也是无用,洁身自好、安全防范才是第一道理

    • Terry Chen说道:

      恩,密码强度主要是应对暴力破解和字典攻击,通常不会有什么人对我们做这种事。KeePass主要是用来记密码的,生成高强度密码主要是因为反正都不去记,那么索性弄长一点。

  6. Sandox说道:

    这个软件以前试用过,但我觉得太过麻烦,密码大都是上网用的,所以我认为用一个网络服务来保存更为合适(但前提是,安全)。我更喜欢LastPass。

    不过,话说回来,拥有重多的账号,管理起来真TMD是件难事,尤其是用户名不同的网站。

    • Terry Chen说道:

      LastPass是我现在在用的服务,很不错,但是有人不太信任他,毕竟是网络服务。相比之下KeePass作为开源软件会比较安全。
      现在什么网站都要注册,真是太烦了,说实话一些账户完全就是没用的,要是能像国外很多网站一样用Facebook账户通杀就好了,在中国可以换成腾讯。

  7. 草帽luffy说道:

    还真没用过密码管理类的软件——因为帽子的username和password来来回回就是那几个,不过是搭配或顺序有些差别而已。
    而且说实话,帽子总是觉得自己手工输入比较放心、踏实,这也是不用密码管理类软件的一大原因。

    • Terry Chen说道:

      恩,我比较懒,都是用密码管理器输入的,不过主要还是用LastPass,和浏览器集成更方便了。

  8. Bigcow说道:

    感觉不太放心,我一般把浏览器标签加上用哪个邮箱注册的,有点记号就行了 🙂

    • Terry Chen说道:

      呵呵,我是懒得输入啦!KeePass应该还是比较放心的,毕竟是开源的,不过Linux要Mono我就不用了。。。静候KeePassX作者闭关修炼KeePassX 2,看看之后会不会更好用。

  9. elaphent说道:

    密码多了确实不好记

  10. ian说道:

    lastpass飘过。。除了浏览器好像都没在别的地方要账号密码什么的了

    • Terry Chen说道:

      我也是,就是有一个小问题,你信任LastPass吗?我是基本信任,不过网银什么的密码就全是手动输入。KeePass怎么说开源+本地存储,比较安全。

      • ian说道:

        网银什么都似乎我用chrome都没法用,只能用ie,我lastpass只在ff和chrome上面用,至于信任的话,我觉得还是可以信任的。

        • Terry Chen说道:

          这个不用似乎,中国那些懒惰的银行还固守着IE 6呢!IE也可以用LastPass,这是这个服务的一大优势,全主流浏览器支持。信任问题就见仁见智了。

          • 草帽luffy说道:

            国内网银也没那么惨,好几家bank都支持Fx、opera和chrome了。
            而且很多网银控件起码能在IE8浏览器上工作正常。

            • Terry Chen说道:

              恩,可能我说的比较夸张吧,谢谢草帽兄指正。

  11. SuperTom说道:

    为神马你对各种加密那么感兴趣…

    • Terry Chen说道:

      可能坏事干多了吧,哈哈!注重一下隐私也挺好的拉。

  12. 新民智说道:

    Terry的网站,简洁精致,文章切中要点,值得学习。

  13. 天毅说道:

    现在在用lastpass,感觉不错。keepass用一个文件作为密钥文件,结果文件被删除了,彻底郁闷

    • Terry Chen说道:

      KeePass确实得记得备份,不然就真是郁闷,我也在用LastPass,不过有人觉得不放心。

  14. 柴子说道:

    个人觉得密码强度只能用来对抗社会工程学入侵或者直接暴力穷举爆破
    PC上的密码安全,是一个整体防御体系,直接取决于最短的那块木板
    如同上面所说的,一个键盘记录,强度也就是浮云了
    另外keePass的本地存储被远程获取,不知道是不是可以逆向出来[不懂本软件的加密,还请terry用过的解说,是不是可逆]
    安全,网络安全,是一个整体,不是哪一个环节更重要
    不然,就算你的密码固若金汤,也只不过是一个高级肉鸡的命

    • Terry Chen说道:

      KeePass的安全性是可以信赖的,首先KeePass 1.x和2.x共同的加密算法是256位的Rijndael(KeePass 1.x还支持Twofish),也就是AES,加密方式和7z是一样的,TrueCrypt中也包括了这一加密算法,从已知的资料看AES算法除了旁路攻击没有其他有效的破解方法。其次,关于Keylogger的问题我没写清楚,2.x的双通道全局输入混淆可以在很大程度上应付通常的Keylogger,这项功能的原理是将部分密码通过剪贴板传输,普通的Keylogger不会监视剪贴板,KeePass在传输密码的时候还将其进行随机分割,帮助中所举的例子是mymail@myprovider.com被分割成了 y il m o d .c和m ma @ ypr vi er om,前半部分通过剪贴板传输,后半部分通过模拟键盘输入传输,也就是^v{LEFT 8}m{RIGHT}ma{RIGHT}{RIGHT}@{RIGHT}ypr{RIGHT}vi{RIGHT}er{RIGHT}{RIGHT}om,而且为了避免攻击者在多次捕捉键盘记录之后组合出全部密码,密码的分割是由密码的Hash决定的,每一个密码的分割方式是固定的,设计Keylogger的人需要进行的工作量大大增加,首先需要同时监视剪贴板和键盘记录,然后监视剪贴板时必须几乎无间隔定时扫描(因为KeePass很贱地屏蔽了所有剪贴板事件),否则几毫秒之内KeePass就会完成整个操作恢复剪贴板内容。第三,KeePass的密码在内存中是加密的。总体来说KeePass已经把能做的都做得差不多了,还是免费开源的,我觉得该给作者颁个奖了。
      当然本地的安全还是得做好,例如输入主密码的时候KeePass就保护不了你,主密码泄漏就直接是餐具了。KeePass 1.x有个比较贱的插件是输入主密码用的屏幕键盘,可惜2.x不支持了,所以我没写进去。
      密码强度的问题是属于蛋疼,反正都记不住那不如弄个长的变态的,我看过很多老外在评论里就是这么写的。

      • 柴子说道:

        KeePass再牛逼也不可能完全保护它自身的起始密码/打开密码吧。。
        然后再拿到你的数据库,剩下的事小学生也可以完成了
        甚至可以用更猥琐的办法,映像劫持到高仿钓鱼山寨版
        直接拿到你的打开密码,KeePass木有办法了吧,嘎嘎

        刚写完就看到你的段末提到这个问题了,我是看了一半就开始回复。。
        安全的短板就在于此,没法保护自身密码安全。。。
        又要想办法来保护这个密码,于是陷入死循环。嘎嘎

        PS:没注意到这货是基于.net的。。。唉,.net和java依赖型的都很不喜欢

        • Terry Chen说道:

          那是自然,我可不敢指望靠KeePass就安枕无忧了,对这个只有1M多的小软件来说要求太高了,而且大多数Keylogger还是针对那些不用密码管理器的童鞋的,特地为KeePass弄木马成本有点高,尤其是对那些主要盯着你QQ的低级黑客来说。此外这个东西主要是用来偷懒的,我自己的密码都能记住,因为都会按照一定的规律生成强密码,不过就是因为懒才一直用着LastPass,KeePass都嫌太麻烦了。
          我也不喜欢.net和java,不过现在.net越来越流行,毕竟让程序员用Native C/C++写程序要求太高了,用.net写作效率会更高。我读过Lifehacker上面的一些争论,有不少程序员就说不管怎么样用户得到可以用的程序就是了,用不用.net不是用户需要特别关心的事。KeePass算是比较特别的,1.x不依赖.net,但是功能少,2.x依赖.net,但是功能多,两个版本同时开发的。。。个人感觉有点蛋疼,我觉得没有必要弄一个依赖.net的版本,Mono跨平台也不理想(效率比Windows的.net还低不少),KeePassX这样的fork是最好的解决方案。

          • 柴子说道:

            个人认为密码安全除开社会工程学的窃取影响,应该来个全局防范,比如用HIPS类工具来全局拦截钩子 驱动服务 读取写入内存 远线程 记录键盘 截屏等操作,这样就不存在短板了。。神马密码都能保护到

            • Terry Chen说道:

              卧槽,这个确实够狠。。。

            • 柴子说道:

              我用RTD pro一直就是这么干滴… 谁想新建删除一个txt都木有权限,更别提打开神马文件了 – -!

            • Terry Chen说道:

              话说我Hips还处于菜鸟阶段,不过现在用Linux安全问题基本是浮云。。。多重保护确实不错,不过我要是弄的话还是限制程序类文件,文本就不弄了,反正也没什么重要信息。。。

            • Terry Chen说道:

              我觉得参考Linux的权限限制也就够了,不过这种要求下UAC也能做个七八成,所以我就懒得用Hips了,所以一直都处于菜鸟阶段,悲剧啊。。。

  15. 柴子说道:

    程序类文件被感染或者窃取往往损失不大,重安装便是了。但是如果你的文档被篡改或者被泄露,后果严重多了。。

    • Terry Chen说道:

      呵呵,我想限制住程序中招的机率就极低了,我所需要的是防住大多数病毒木马,而且我还真没什么重要文档,电脑里也就一堆音乐电影和电子书。。。篡改了我就重新下载就是了。。。

  16. 柴子说道:

    小心terry门….

    • Terry Chen说道:

      暂时还木有艳照可供外泄,不然柴子大牛借我几张,我牺牲自己的电脑也帮你传出去!

      • 柴子说道:

        哥素正经人,电脑上只有登记照,免冠,1寸

        • Terry Chen说道:

          我也是正经人,连登记照都木有,无黄片无艳照(自己和别人的都没有)无任何不良事物。

  17. 塞壬说道:

    希望人类摆脱密码的日子能早一天到来,哈哈。

    • Terry Chen说道:

      是啊是啊,或许以后可以用指纹,哈哈。

  18. Gryu说道:

    很是郁闷,为什么我用Ubuntu下载了Chromium后,点击最小化,就自动关闭了。。。我用的是Ubuntu11.04正式版。

    • Terry Chen说道:

      你是用什么安装的,软件中心?我装过都没有这个问题啊。试试用Chrome的deb装一下,一般来说Chrome会稳定一点,在这里找下载:http://www.chromi.org/chromedownload。

      • Gryu说道:

        嗯,我试试去。新手啊,还有很多问题。。

        • Terry Chen说道:

          呵呵,我也不是高手,博客都不太敢写Linux的东西。有时候一些问题确实要折腾一段时间。

          • Gryu说道:

            我现在就连驱动都还没有搞定,网页一下滚,11.04正式版的左边的任务栏,就是闪一闪的,搞的很郁闷。

            • Terry Chen说道:

              按理说用Ubuntu那个自动搜索就行的,如果不好用就选经典桌面用回Gnome 2吧,我后来就是用这个。

  19. 软件街小秘说道:

    我用lastpass管理论坛和网站密码…………

    重要密码还是用脑子记起来好

  20. 囧汉说道:

    密码多了不记录下真的能忘了!

  21. 乌帮图说道:

    楼上有个人和我头像一样。

  22. freetstar说道:

    博客人好多啊

    • Terry Chen说道:

      好久没更新了,唉。。。不过以后会多写一些Linux的东西,暂时出于迷茫状态,还不知道怎么弄,等考试后再说了。。。

  23. 新民智说道:

    你真适合写长篇啊

  24. 除了银行那些有关钱的密码之外,我的常用密码就三个,懒得搞那么多,就新开热血江湖私服
    像我们的ID一样,一个就好拉

  25. 广州SEO说道:

    好长 人气也旺

  26. jiayi333说道:

    不小心在这里看到淫柴,看说话就是那货本人,RTD死忠! >_<

  27. 行畔博客说道:

    这个真不错,折腾中。