KeeWeb 是一个开源、跨平台的密码管理工具,具有云同步和插件等功能,界面比较美观。可以在 Windows、Linux 和 Mac OS 上运行,并拥有各自对应的客户端,同时和另一个比较有名的密码管理软件 KeePass 的数据文件格式兼容。

这年头上网,什么地方都要注册个账户,账户多了记不住,到处用同一套密码的话又大大降低了安全性,找个顺手的密码管理类软件会方便不少。

实际这个程序客户端本身就可以下载后直接使用,数据文件可以同步到 OneDrive,Google Drive 和 Dropbox 三大云服务,这三家的可靠性实际是绝对高于我等普通人的小破服务器的,比如我个人就是使用的 SafeInCloud 同步到 OneDrive。不过总有人对第三方云服务不放心,担心数据泄露,所以本文来水一篇自己搭建服务器端的方案。


另外说几句无关,网上各种乱七八糟教程,尤其是涉及 CentOS 的,都喜欢开头先无脑一波 yum update,完全不考虑实际情况,这是绝对不可取的。

CentOS 下 yum updateyum upgrade 这两个命令都会升级内核,软件包以及系统版本,实际上效果是一样的。

而 Debian 系的 apt 软件包管理,update 是检查软件更新信息,给出报告但不升级软件;upgrade 则是升级软件,两个命令均不涉及操作系统本身的内核更新之类。这方面和红帽系 Linux 完全不同,务必要注意区分。

如果是个人服务器就跑几个普通网站之类,那 update 一波也无妨,保持最新版本还有助于避免各种 bug。但如果是正经生产环境下,不要随便用升级命令。


回到要说的程序内容上来,KeeWeb 官网:https://keeweb.info/

Github 项目地址:https://github.com/keeweb/keeweb

客户端下载地址:https://github.com/keeweb/keeweb/releases/

本来是想直接在系统上安装的,不过这程序官方也没给个明确的配置教程, 为了方便,还是使用 Docker 来安装了。

不过这里不使用官方的镜像,因为官方镜像只是单纯用来搭建网页版的,没有服务器端的功能,所以选择第三方打包好的带 WebDAV 服务的镜像,项目地址为:https://hub.docker.com/r/viossat/keeweb-webdav

直接拉取镜像:

docker pull viossat/keeweb-webdav

然后运行:

docker run -d -p 8765:80 -e WEBDAV_USERNAME=lishuma -e WEBDAV_PASSWORD=12345abcde -v /data/keeweb/password-files:/var/www/html/webdav viossat/keeweb-webdav

把容器的 80 端口映射出来,我这里是映射到宿主机的 8765 端口,也别忘了防火墙放行对应的端口。这里作为例子,webdav 用户名设定为 lishuma,密码为 12345abcde,容器里的/var/www/html/webdav 目录映射到物理机/data/keeweb/password-files 目录,用于存放密码数据文件。

然后浏览器即可 IP+端口即可,程序默认推荐 HTTPS,因此页面打开会有警告,忽略就行。

首先切换语言,点击 More——Settings——Languages,选择最下面的插件形式的其他语言,然后选择 Load plugin gallery 载入插件库,即可看到简中语言,点击 install 安装,装完后点击 Switch to this language 切换语言即可。

程序使用

此程序的使用非常简单,添加内容后点击左下角保存,比如我这里添加三个条目:

然后点击左下角的数据库名称(默认是 NEW),可以看到保存选项,默认数据保存在服务器端。为了安全性,每个密码数据库都务必设定个密码:

设定密码后可以直接退出程序了,再打开网页可以看到数据库列表和密码输入选项,选择对应的数据库名称,输入密码即可看到其中保存的内容:

客户端的数据同步配置

这程序默认的情况下,不管是网页端还是客户端,生成的数据文件都是保存在各自本地的,也就是默认离线使用,这显然不太适合我们实际需求,所以主要说一下如何设定多平台同步编辑。

不同操作系统的客户端在文章开头提到的链接里可以下载,语言切换方法和网页一样。 在网页端或者客户端输入好内容后,把数据文件导出到本地,比如上面作为例子的,名为 New 的数据文件,导出到本地后是个后缀名为 kdbx 格式的文件,这里举例的文件名为 New.kdbx

然后把这文件上传到上文创建 docker 容器时映射出来的外部宿主机目录里,我这里也就是 /data/keeweb/password-files 目录,并注意设定此文件公共权限为允许读写

然后本地客户端里点击更多选项的 WebDAV,URL 地址填写容器宿主机地址,我这演示没绑定域名就直接写 IP 了,有域名的话就写自己域名,地址后面跟随/webdav/文件名的格式,用户名和密码按照上面创建容器时设定的填写,如下图:

填完确认即可,连接成功的话,会提示输入 New 数据库的访问密码,然后就能在客户端里看到服务器上数据库内的内容了:

连接到了线上数据库的话,自动保存的文件记录也会自动保存在云端,不用担心丢失。一个数据库文件里可以新建多层分组,一般使用的话,一个文件也就足够了。

如果想导入其他数据文件的话,方法也是一样,先把文件传到服务器对应目录,在 WebDAV 选项里填写地址即可,多个数据库可以共存,不会覆盖。

最后要注意,程序设置里的自动保存选项务必打开,因为我们的目的是多个客户端都要同步使用,也必须要设定保存方式为覆盖文件。不然的话,它这每自动保存一次,就是自动另外创建一个新文件了。

网页和移动 APP 端的数据同步设置

网页端配置和客户端方法一模一样,其实就是让不同平台访问时都读取同一个数据文件,配置完刷新页面,就能看到内容了。

作为密码管理软件,更常见的使用场景显然是手机端 APP,KeeWeb 这项目本身并没有对应的手机 APP,不过开头也说过,这程序的数据文件格式和另一个比较有名的软件 Keepass 兼容,因此直接使用 Keepass 的 APP 即可,这里以安卓端的 Keepass2Android 为例子,程序可以在 Play 商店下载。

如果条件限制无法爬墙的,也提供一下网盘地址:

百度网盘链接:https://pan.baidu.com/s/1xpoCk9ZPUi7QONwDbrLYdQ 
提取码:bam7
天翼云盘备份:https://cloud.189.cn/t/A777V3qmmuMb(访问码:2694)

软件安装后点击打开文件:

如果是没有配置 HTTPS 的,那就选择 HTTP(WebDav),如果你的域名配置了加密,那就选带 HTTPS 的:

然后照样填写信息,确定后即可使用:

除了 Keepass2Android 以外,手机客户端还有很多类似的,毕竟本身就开源,选一个自己喜欢的即可,并没有太大讲究。

2222
Latest posts by 2222 (see all)

CentOS 8 安装 Docker

把手头闲置的一台 VPS 系统重装成了 CentOS 8 系统,CentOS 8 下面安装 Docker 的步骤和 CentOS 7 有点不同,记录一下过程。 系统环境为 CentOS 8.1(1911...

阅读全文

用 Jigdo 下载 Debian 历史版本

在正常情况下使用 Debian 时,基本都是直接跟着新版走就行了,官网也都是默认只提供最新版的链接下载。但遇到有些情况需要下载特定历史版本,比如我想下载个...

阅读全文

玩客云内置 eMMC 存储刷入 armbian

玩客云是前些年很火的一款矿机,还白送迅雷离线下载功能。不过现在挖矿功能早就凉凉了,所以也就可以拿来刷成别的系统玩,这里写一下把 armbian 刷入内置 eM...

阅读全文

欢迎留言