Skip to content

Latest commit

 

History

History
94 lines (78 loc) · 6.49 KB

2019-01-05-9.md

File metadata and controls

94 lines (78 loc) · 6.49 KB
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服务器,将秘钥文件放在其中,在各个终端都访问同一个文件,来达到同步的目的。

环境:CentOS7 + Apache2.4

如果服务器没有则先安装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密码文件。

  • 在浏览器中测试,如果出现下图情况说明开启成功。

keePass使用

  • Windows: keePassXC客户端
  • OS X: keePassXC For Mac客户端
  • Android:keepass2Android
  • IOS: MinikeePass

另外还有很多开源软件都可以使用: GitHub

在Windows设备上访问WebDAV服务器

这是Windows下客户端的主界面,我们可以新创建一个密码库或者打开一个备份的密码库,这里我们打开已有密码文件。

  1. 在资源管理器中,右击此电脑,选择映射网络驱动器。
  2. 填写服务器地址,端口号和密码。
  3. 把映射驱动器磁盘里的密码文件拖到软件里。输入创建密码库时的主密码就可以打开。

在OSX设备上访问

keePassXC For Mac

  1. 打开Finder文件管理器,按command + k键,连接服务器。
  2. 同样将密码文件拖到APP中。

在Android设备上访问

keepass2android

  1. 选择打开文件,找到HTTP(WebDav)选项(我的服务器没有https)访问WebDAV服务器上的密码文件。
  2. 输入服务器地址,webdav服务账号密码。就可以打开数据库了。

这样三台设备就可以访问一个密码文件,实现密码的同步,就不用手动复制各个设备了,不过还是建议多备份几次,防止密码丢失。

Chrome自动填写密码扩展程序

KeePassXC-Browser 谷歌应用商店自行下载,可能需要梯子。 首先确认客户端APP已经打开,之后点击扩展程序图标,Connect! 当访问密码库文件中保存的账号和网址时,就会自动填写账号密码。

博客地址:www.matianhe.cn