一、概述
出于密码管理需求,查找了几种密码方案,发现KeePass+坚果云+keepass2android是大家反馈比较好的一种,支持电脑手机同步管理密码,深入使用后发现体验还不错,恰巧本身有公网ip,遂决定自建webdav服务来进行密码管理,进一步把安全掌握在自己手里。
二、前置条件
- 需要有一台已经安装了docker的服务器(用于搭建dav服务);
- 服务器需要有公网IP,没有的话需要做内网穿透(具体操作自行度娘);
注:如果不自建webdav、则不需要服务器,通过坚果云,NAS等都可以获取到webdav服务。
三、关键步骤搭建记录
(一)使用docker搭建webdav服务
1.使用docker安装webdav,将webdav挂载在服务器本地目录下,映射对外端口33380:
# docker执行命令
docker run --restart always -v /srv/applications/webdav:/var/lib/dav \
-e AUTH_TYPE=Basic -e USERNAME=selfUserName -e PASSWORD=p@ssw0rd@webdav \
--publish 33380:80 --name webdav -d bytemark/webdav
2. 对webdav进行配置,支持中文文件名,关闭目录索引:
# 配置文件名支持中文
docker exec -it webdav /bin/bash
vi conf/conf-enabled/dav.conf
#start_dav.conf文件内容################################
<Directory "/var/lib/dav/data/">
Dav On
Options Indexes FollowSymLinks <-----------删除这一行网页上不会再显示文件夹内容
AuthType Basic
AuthName "WebDAV"
IndexOptions Charset=utf-8 <-----------添加这一行
AuthUserFile "/user.passwd"
<RequireAny>
Require valid-user
</RequireAny>
</Directory>
#end_dav.conf#######################################
docker restart webdav
注:关于webdav服务,可以通过坚果云(账户信息->安全选项->第三方应用管理)、NAS等实现,并非是必须的。
(二)使用
采用keepass在本地创建密码文件,然后将密码文件上传到webdav服务器目录,最后采用keepss打开webdav文件目录即可;
将22630.kdbx数据库文件上传到webdav服务器中,采用网络打开方式进行多客户端同步管理;
对于手机端,操作类似,不再赘述。
四、附件
本方案所需的软件已全部打包上传至csdn,有需要的可进行下载,文件目录:
- keepass(windwos安装包)
- keepass2android(安卓安装包)
- webdav.tar(已经修改好配置的webdav服务docker镜像)