wai4y 发表于 2021-3-27 15:09

使用bitwarden_rs自建密码管理器,替代LastPass

本帖最后由 wai4y 于 2021-3-27 15:17 编辑

准备工具:

* vps
* 域名(如果不想使用域名,直接第一步就可以快速使用)

## 一 使用docker部署

进入vps,使用docker-compose启动bitwarden_rs服务,这里主要是配置文件 `docker-compose.yml`,先附上我的,这个配置文件保证可用

```yml
version: "3"

          services:
      bitwarden:
            image: bitwardenrs/server:testing # 这里我使用的最新测试版,包含send功能
             container_name: bitwardenrs #容器启动后的名字
             restart: always
             ports:
                  - "127.0.0.1:1234:80" # 映射80端口到本地的1234端口,后面使用nginx代{过}{滤}理
               # add another line
             volumes:
                     - ./bitwarden:/data # 本地数据文件夹为 配置文件同目录下的bitwarden目录
             environment:
                     SIGNUPS_ALLOWED: "true" #是否关闭注册功能,第一次设置为true,自己注册后可以关闭改为false
                     WEB_VAULT_ENABLED: "true" # 允许网页配置
                     SIGNUPS_ALLOWED: "false"

```

配置好后,就可以直接使用命令 `docker-compose up -d`启动服务了

服务启动后可以直接使用 ip:1234(上面配置文件里的端口) 来访问,**如果不想配置域名,到这里就可以正常使用了**

使用方法就是在各个客户端的登陆界面配置上自己的服务器地址:端口,下图以chrome插件为例

![](https://attach.52pojie.cn/forum/202103/27/150447f3qjhss3qyzrwz5x.png)

![](https://attach.52pojie.cn/forum/202103/27/150500g8vyz8468zvwn9vv.png)

保存后就可以打开登录界面

不想使用域名,或者觉得麻烦可以直接使用上面方面食用, 忽略下面步骤

## 配合域名使用

1. 做好域名解析,我这里以namecheap为例

![](https://attach.52pojie.cn/forum/202103/27/150527uo5u7mvabvsmoa4o.png)
在上图的Actions下面添加一个A record, host为@, value为你vps的ip地址

然后添加一个CNAME record ,host随意,value为你的主域名,比如,password.yourdomain.com(这里主域名为yourdomain.com)

我上面还额外配置了几个sendgrid的记录,主要是为了正常邮件发送,下面是邮件的配置, 添加在上面第一个配置文件的environment 后面,和其他配置并列

```yml
SMTP_HOST: smtp.sendgrid.net #邮件服务器,我是用的sendgrid,免费的够用了
SMTP_FROM: # 邮件发件人
SMTP_PORT: 587
SMTP_SSL: "true"
SMTP_USERNAME: # 从sendgrid去拿
SMTP_PASSWORD: # 从sendgrid获取
```



域名解析配置,可以打开cmd, ping yourdomain.com 如果能看到你服务器ip,说明解析正常,进行下一步



打开vps,安装nginx,nginx主要也就是一个配置问题,下面贴上我使用的配置, 主要就是在nginx.conf配置文件下**添加了一个server**以及**配置ssl**

* 添加server如下

```conf
server {

          root /var/www/yourdomain.com/html;

          index index.html index.htm index.nginx-debian.html;
          server_name password.yourdomain.com; #这里要配置域名
          ##
          #proxy_pass
          ##
          location / {
                  proxy_pass http://localhost:1234; #设置个简单的反代,还记得我们之前配置的1234端口么,就是这里使用
                  proxy_set_header X-Real-IP $remote_addr;
                  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          }
}

```

* 配置ssl

首先去安装两个插件,在vps里执行

`sudo apt install certbot python3-certbot-nginx`

然后直接执行如下命令来安装证书

`sudo certbot --nginx -d yourdomain.com -d password.yourdomain.com`

证书安装好后,会在nginx配置文件里自动添加一些配置文件

最后启动nginx: `sudo nginx reload`

打开网页,输入: https://password.yourdomain.com就可以打开密码管理软件了

最后的效果如下,我们创建一个账号就可以开始使用

![](https://attach.52pojie.cn/forum/202103/27/150556k475y0fjefam90sc.png)

wai4y 发表于 2021-3-31 09:32

ivan523 发表于 2021-3-30 23:22
这个很强大,问一句,如果部署做nas上,nas意外断电或其他原因关了的话,是不是就没办法用它自动登录网站了 ...

我试了下,至少在chrome插件不会,如果吃登录状态,就算服务器关了也是可以使用的,只是不能同步了

ivan523 发表于 2021-3-31 09:39

wai4y 发表于 2021-3-31 09:32
我试了下,至少在chrome插件不会,如果吃登录状态,就算服务器关了也是可以使用的,只是不能同步了

好的,谢谢。我研究研究在威联通上面怎么部署{:1_893:}

kkkyc592 发表于 2021-3-27 15:33

6666666666感谢分享

宗攻さま 发表于 2021-3-27 15:58

使用了ssl,客户端软件url是不是也得用https?

ee789852 发表于 2021-3-27 16:05

看着很难,做起来也难,谢谢分享

风之暇想 发表于 2021-3-27 16:16

一般用官方服务器的就行了

wai4y 发表于 2021-3-27 18:34

宗攻さま 发表于 2021-3-27 15:58
使用了ssl,客户端软件url是不是也得用https?

是的,建议还是上https

wai4y 发表于 2021-3-27 18:36

风之暇想 发表于 2021-3-27 16:16
一般用官方服务器的就行了

自建的有高级功能啊,而且数据自己能掌握,哈哈,怕折腾当然是直接买官方

ivan523 发表于 2021-3-30 23:22

这个很强大,问一句,如果部署做nas上,nas意外断电或其他原因关了的话,是不是就没办法用它自动登录网站了?
页: [1] 2
查看完整版本: 使用bitwarden_rs自建密码管理器,替代LastPass