title | date | id |
---|---|---|
WebDAV+keePass实现云同步密码管理 |
2019-01-05 17:45 |
52363 |
keePass介绍 :KeePass 是一款管理密码的开源的免费软件,KeePass 将密码存储为一个数据库,而这个数据库由一个主密码或密码文件锁住,也就是说我们只需要记住一个主密码,或使用一个密码文件,就可以解开这个数据库,就可以获得其他的密码内容。不用担心安全,这个数据库采用当今非常安全的密码算法AES 和 Twofish。
WebDAV介绍:WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。
由于keePass不支持云同步,不方便将各个设备的密码文件整合,因此可以搭建一个WebDAV服务器,将秘钥文件放在其中,在各个终端都访问同一个文件,来达到同步的目的。
如果服务器没有则先安装apache ,yum install httpd
,Apache2.4是默认开启WebDAV的, 可以查看 /etc/httpd/conf.modules.d
目录下的dav.conf
配置文件如果没有此文件,可以把以下代码加到自定义的配置文件中以保证开启WebDAV服务
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
在默认配置文件为WebDAV服务打开一个监听端口,以6666为例,并在conf.d文件夹中为WebDAV服务单独创建一个配置文件。
<VirtualHost *:6666>
ServerAdmin name
ServerName name.cn
# 存放文件的位置
DocumentRoot /data/webdav
# 日志文件的位置
ErrorLog /var/log/httpd/error.log
CustomLog /var/log/httpd/access.log combined
# 访问路径
Alias /dav /data/webdav
<Directory "/data/webdav">
# 访问权限
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
<Location />
# 验证密码
DAV On
AuthType Basic
AuthName "WebDAV-Server"
# 这是登录验证的密码文件
AuthUserFile "/etc/httpd/users.pwd"
Require valid-user
</Location>
</VirtualHost>
我们需要创建一个用来验证登录的密码文件,存放在配置文件所规定的目录中 /etc/httpd/users.pwd
。 创建密码需要用到一个htpasswd
工具,这个工具是Apache内置的,不需要单独安装。
htpasswd -c /etc/httpd/users.pwd username
之后需要自己设定一个密码输入两次,便会在该位置创建WebDAV密码文件。
- Windows: keePassXC客户端
- OS X: keePassXC For Mac客户端
- Android:keepass2Android
- IOS: MinikeePass
另外还有很多开源软件都可以使用: GitHub
这是Windows下客户端的主界面,我们可以新创建一个密码库或者打开一个备份的密码库,这里我们打开已有密码文件。
这样三台设备就可以访问一个密码文件,实现密码的同步,就不用手动复制各个设备了,不过还是建议多备份几次,防止密码丢失。
KeePassXC-Browser 谷歌应用商店自行下载,可能需要梯子。 首先确认客户端APP已经打开,之后点击扩展程序图标,Connect! 当访问密码库文件中保存的账号和网址时,就会自动填写账号密码。