vaultwarden密码库 搭建流程

2023-11-12

系统工程 - 建设篇


系列文章回顾

第一章 宝塔面板+NextCloud文档云 搭建流程


前言

建设安全可存储的密码库,以开源版bitwarden为例,方便IT人员安全存储密码
由于BitWarden是一个网站应用,是B/S架构,而且支持docker部署,所以需要搭建一台支持docker部署的Linux,同时为了方便管理Linux服务器,在Linux服务器上使用宝塔运维面板进行运维管理。


前置条件

  • Linux虚拟机已安装LNMP
  • Linux虚拟机需要联网
  • 准备Xshell等连接工具,安装lrzsz、zip、unzip等工具

实施步骤

1. 宝塔面板配置docker,开启docker服务
2. 从docker.io镜像库下载vaultbitwarden版本,运行镜像并测试访问密码库后台
3. 配置密码库的基础功能、组织、管理员
4. Chrome、Firefox浏览器安装bitwarden插件,测试登录和自动填充功能


注意事项

  1. 如果vaultwarden使用的SSL证书是自建CA的SSL证书,那么浏览器就需要导入自建CA证书才可正常访问登录bitwarden,否则会提示证书告警并登录失败。

浏览器插件下载链接

Chrome bitwarden
Firefox bitwarden



部署 vaultwarden密码库

宝塔面板配置docker,开启docker服务

宝塔网站管理
1
2



从docker.io镜像库下载vaultbitwarden版本,运行镜像并测试访问密码库后台

镜像下载的可选方式:
① 登录nginx后台,使用docker pull命令下载

# Linux后台
[root@localhost ~]# cd /opt
[root@localhost ~]# docker pull vaultwarden/server:latest

② 登录宝塔面板,使用宝塔提供的docker镜像窗口下载
3


docker run运行镜像

# Linux后台
# 必须用命令行执行docker run      CLI命令可以更简单地执行丰富的参数集

docker run -d --restart=always --name vaultwarden -v /www/wwwroot/vaultwarden/:/data/ -p 8000:80 \
-e LOG_FILE=data/access.log \
-e LOG_LEVEL=info \
-e EXTENDED_LOGGING=true vaultwarden/server:latest

# 上述参数解析:   -d --detach  后台运行容器并打印容器ID        --name  指定容器名称       -v --volume  指定映射的目标 (本地:容器)     -p --publish  指定映射的端口号 (本地:容器)
#                -e --env     设置容器运行的环境变量, 一般用来设置容器内软件的参数和配置.

宝塔面板部署vaultwarden密码库网站,伪静态+SSL证书

SSL证书的添加过程(略)

# 伪静态配置
location / {
  proxy_pass http://vaultwarden.xxx.com:8000;
}
# nginx配置文件
server
{
    listen 80;
	listen 443 ssl http2;
    server_name vaultwarden.xxx.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/vaultwarden/;

    #HTTP_TO_HTTPS_START
    if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }
    #HTTP_TO_HTTPS_END
    ssl_certificate    /www/server/panel/vhost/cert/vaultwarden.xxx.com/fullchain.pem;
    ssl_certificate_key    /www/server/panel/vhost/cert/vaultwarden.xxx.com/privkey.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
    ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    add_header Strict-Transport-Security "max-age=31536000";
    error_page 497  https://$host$request_uri;
		#SSL-END

    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/vaultwarden.xxx.com.conf;
    #REWRITE-END
    
    access_log  /www/wwwlogs/vaultwarden.xxx.com.log;
    error_log  /www/wwwlogs/vaultwarden.xxx.com.error.log;
}


测试访问密码库的首页和后台

访问https://vaultwarden.xxx.com/
4

访问密码库后台并配置后台参数

# Linux后台
docker run -d --restart=always --name vaultwarden -v /www/wwwroot/vaultwarden/:/data/ -p 8000:80 \
-e LOG_FILE=data/access.log \
-e LOG_LEVEL=info \
-e EXTENDED_LOGGING=true \
-e ADMIN_TOKEN=random_token_as_this_server_above_admin_pass \			# 删除docker容器,重新执行docker run并添加ADMIN_TOKEN参数,开放密码库后台的访问
vaultwarden/server:latest

访问https://vaultwarden.xxx.com/admin/
5
配置完成后台参数后,在后台将ADMIN_TOKEN设置成空,退出即关闭后台界面访问



配置密码库的基础功能、组织、管理员

(略)



Chrome、Firefox浏览器安装bitwarden插件,测试登录和自动填充功能

安装过程(略)

测试登录和自动填充

6
7
8
9



参考来源

  1. 宝塔社区版本
  2. 自建bitwarden/vaultwarden的密码服务
  3. Docker部署Vaultwarden(Bitwarden_RS)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vaultwarden密码库 搭建流程 的相关文章

  • linux下C语言中的flock函数用法 .

    表头文件 include
  • 微信小程序 — 网络封装(基础篇一)

    网络请求类封装 const baseUrl https xxx xx xx export default function reqeust params return new Promise resolve reject gt wx req
  • vue项目实现锚点定位功能

    背景 在html中使用id可以简单实现锚点坐标功能 如下 起点 a href mark 起点 a 终点 div 终点 div 但是此时在url中会添加mark 不直接用以上方法的原因主要有二 1 它影响路径 如果做数据提交或其他需要获取当前
  • 讯飞语音转写

    逻辑 语音上传 gt prepare 讯飞 返回一个task id gt 音频分片上传 upload 讯飞 调用多次 直到文件全部上传完成 gt 合并音频merge 讯飞 gt 每三分钟调用getProgress 讯飞 gt 得到结果get

随机推荐

  • vue项目各种报错-2

    最近做了一个级联下拉框作为表单查询条件的项目 但是在点击查询按钮后报如下报错 但表单查询功能不受任何应影响 解决 当用户切换options数据时 就会重新渲染el cascader组件 给级联选择器绑定 key 值 通过 watcher 监
  • SpringBoot创建一个简单项目和用到的注解解释

    SpringBoot本身就是一个maven项目 IDEA中创建一个简单项目以后 在启动类对应的包下面 包的的子级也可以 这里用的是HelloController 代码如下 访问路径 localhost 8080 hello 项目启动 直接在
  • c语言大数相加

    大数相加 由于整型数的位数有限 因此整型数不能满足大整数 超长整数 的运算要求 大整数计算是利用字符串来表示大整数 即用字符串的一位字符表示大整数的一位数值 然后根据四则运算规则实现大整数的四则运算 大数相加我主要总结如下 1 定义两个字符
  • docker安装centos7系统并使用xshell连接

    文章目录 前言 一 docker和虚拟机 二 docker安装 1 引入库 2 docker安装centos7系统 3 修改docker为自动重启 4 修改docker某个容器自动重启 总结 前言 在搭建视频服务器时 遇到了需要集群的问题
  • 杰理之芯片丝印说明【篇】

    第一行 杰理公司LOGO 第二行 字母 代表芯片的生产信息 即 批次号 2C4 代表芯片型号的末3位 从芯片丝印 是 看不出 芯片的具体型号 例如 图片的丝印 对应的型号有可能是 AC6322C4 AC6352C4 AC6362C4 等
  • OpenWrt目录结构及编译过程

    OpenWrt代码有8个固定的顶层目录以及7个编译时创建的临时目录 顶层目录 docs docs目录 用于存放开发文档 编译时不需要 包含了整个宿主机的文件源码的介绍 里面还有Makefile为目标系统生成docs 使用make C doc
  • 〖Web全栈开发①〗—网络编程基础(上)

    网络编程基础 网络编程 网络编程概述 TCP IP协议 IP地址 什么是IP IP组成 IP 地址使用过程 查看IP Ip地址分类 子网掩码 端口 socket Socket原理 什么是Socket 2 创建一个tcp socket tcp
  • Redis基础语法

    noSQL 主要解决高并发数据 可以提高访问性能 将低服务器负担 Redis 底层结构 采用键值对存储 工作机制 采用单线程 Redis的数据结构 实用度左至右 string hash list set zset key value key
  • 新博客地址

    现在新的博客地址 https rpz105 com https rpz105 com
  • 【 unity3d 】天空盒的创建和使用

    天空盒 周围环境 天空 注意不是地形 一 创建天空盒材质 1 先创建材质 材质里的Shader里找Skybox 有3个制作方式 但是他们的渲染效果一样 只是制作方式不一样
  • LaTeX基本命令使用教程(清晰实例)(Overleaf平台)(论文排版)

    前言 本文是笔者在学习LaTeX的记录文档 主要是一些常用命令 发至博客分享给大家 笔者的感受是熟悉这些常用命令后即可上手编辑简单的论文 效率很高 体验比word好很多 希望本文能够对LaTeX的初学者有所帮助 有任何问题可以在评论区留言
  • 存储过程进行数据合并导入

    CREATE PROCEDURE sp mytest1 mytype int AS declare pro varchar 50 declare pro1 varchar 50 select pro typename from table1
  • web浏览器访问后端提示‘没有javascript支持,将不能正常工作’

    如图提示 网上找了一下解决办法 说是可能浏览器js支持没有开启 但我的浏览器js支持是开启的 后面清理了下浏览器的缓存 问题解决
  • 如何使用 Kubernetes 监测定位慢调用

    监控作者 李煌东 大家好 我是阿里云的李煌东 今天我为大家分享 Kubernetes 监测公开课第四节 如何使用 Kubernetes 监测定位慢调用 今天的课程主要分为三大部分 首先我会介绍一下慢调用的危害以及常见的原因 其次我会介绍慢调
  • Java&JS时间格式转化

    时间格式转化 一 Java格式转化 1 1 接收前端传值转化 1 2 String转化LocalDate 1 3 LocalDate与Date相互转换 二 Javascript格式转化 2 1 JS时间格式转化 一 Java格式转化 1 1
  • openswan中ISAKMP交互过程关键函数接口

    1 ISAKMP交互过程中关键函数接口 下面分别说明不同的阶段和模式下的函数接口以及对应的报文 2 第一阶段 Phase I 主模式函数接口 发送端 响应端 main outI1 主模式第一包
  • MySQL中的索引事务(1)索引----》数据库运行的原理知识+面试题~

    本篇文章主要讲述MySQL索引事务 所谓的索引index就是指 目录 索引存在的意义 加快查找的速度 省略了遍历的过程 但付出了一定的代价 付出的代价如下 1 需要付出额外的空间代价来保存索引数据 2 索引可能会拖慢新增 删除 修改数据的速
  • 华为OD机试真题-最差产品奖【2023.Q1】

    题目内容 题目描述 A公司准备对他下面的N个产品评选最差奖 评选的方式是首先对每个产品进行评分 然后根据评分区间计算相邻几个产品中最差的产品 评选的标准是依次找到从当前产品开始前M个产品中最差的产品 请给出最差产品的评分序列 输入描述 第一
  • Windows terminal + WSL 美化教程的笔记——解决遇到的问题

    文章目录 前言 问题1 如何打开Windows Terminal 的设置 修改配置文件 问题2 打开windows terminal有更新提示怎么办 问题3 打开windows terminal报错怎么办 参考文献 前言 学习过程中突感字体
  • vaultwarden密码库 搭建流程

    系统工程 建设篇 第二章 vaultwarden密码库 搭建流程 系统工程 建设篇 系列文章回顾 前言 前置条件 实施步骤 注意事项 浏览器插件下载链接 部署 vaultwarden密码库 宝塔面板配置docker 开启docker服务 从