VaultWarden:用私有密码管理器保卫自己的密码

news/2025/3/10 15:10:59/文章来源:https://www.cnblogs.com/o-O-oO/p/18694793

正值春节之际, 介绍一个非常实用的工具——VaultWarden,它是一个自托管的密码管理器,非常适合需要增强隐私保护的用户。如果你与笔者一样正在寻找一个简洁且安全的方式来管理密码,VaultWarden 无疑是一个不错的选择。

现在,我们将通过 Docker 来配置 VaultWarden,使其成为你自己的密码管理服务。

什么是 VaultWarden?

VaultWarden(原名 Bitwarden_RS)是一个基于 Rust 的开源项目,它是 Bitwarden 密码管理器的自托管版本。VaultWarden 提供了一个轻量级且高效的解决方案,支持在个人服务器上运行,保证数据完全由你自己掌控。

为什么使用 VaultWarden?

隐私与安全 :你拥有完全的控制权,密码数据不会存储在第三方服务器上。

低资源消耗 :VaultWarden 是一个轻量级应用,比官方 Bitwarden 服务消耗更少的系统资源。

与 Bitwarden 兼容 :你可以通过官方的 Bitwarden 客户端进行访问,体验与官方版本相同的功能。

跨平台支持 :支持浏览器扩展、桌面客户端、移动应用,确保你随时随地都可以访问你的密码。

准备工作:安装 Docker

之前的文章已经介绍过了,这里就不赘述了,需要回忆的伙伴请自行移步查看:软路由之Docker(一)——京东挂机。
安装 VaultWarden 前的准备工作
首先要生成一个管理页面的 token,需要在 OpenWRT 的命令行界面执行如下命令:

openssl rand -base64 48

如果提示没找到 openssl,可以:

opkg update
opkg install openssl

再执行之前的命令,然后找个地方暂存一下 openssl 生成的 token。

安装 VaultWarden 咱们和以前一样,复制如下内容到命令行的框内:

docker run -dit --name vaultwarden \-v /opt/docker/bitwarden/:/data/ \--restart always -p 8080:80 \--dns 223.5.5.5 \-e ADMIN_TOKEN=<刚才用 openssl 计算的 token> \-e SIGNUPS_ALLOWED=false \-e INVITATIONS_ALLOWED=true \vaultwarden/server:latest

以上命令需要改动的为:

-v /opt/bitwarden/:/data/,冒号前面映射为我们宿主机上的本地文件夹实际路径;

-p 8080:80,窗口的 Web 管理页面端口,冒号前面可以映射为我们宿主机没有被占用的任意端口。

配置反向代理

根据本期另一篇文章《Nginx反向代理与SSL加密:你网站的“超能力”》,咱们把反代里的内容编辑一下:

http {upstream backend {server 192.168.1.100:8080; # VaultWarden 所在宿主机的地址和你映射出来的端口。}server {listen 443 ssl; # 对外端口server_name yourdomain.com; # 对外域名ssl_certificate /opt/ssl/你的证书-chain.cer;ssl_certificate_key /opt/ssl/证书私钥-key.pem;# 推荐的 SSL 配置(可根据需要调整)ssl_protocols TLSv1.2 TLSv1.3;ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:10m;ssl_session_tickets on;# OCSP Staplingssl_stapling on;ssl_stapling_verify on;ssl_stapling on;ssl_stapling_verify on;location / {proxy_pass http://backend;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}}
}

配置完成后,使用端口转发,把你的服务映射出去。忘记的伙伴可以再次使用传送门安装和使用软路由【进阶篇】——软路由可以干什么?(三)。

如此这段,咱们的 VaultWarden 服务就可以从全世界访问了。

创建 VaultWarden 用户

由于我们在 docker run 时不允许直接注册,而是邀请制,所以首先要邀请自己创建账户。

https://<你的 VaultWarden 服务地址>[:端口]/admin

接着,在框内输入之前用 openssl 计算的 token,回车。

这里的设置基本上不用去改,直接点“Users”。

输入邮箱地址后,点“Invite”即可以用这个邮箱注册了。回到:https://<你的 VaultWarden 服务地址>[:端口]

第一行电子邮件地址就填刚才“Invite”的邮箱地址,名称自己取个昵称,密码设置好后记在纸质的密码本中,写一个能帮自己回忆密码的提示。然后创建。

可以直接导入其他浏览器已保存的密码,点击“工具”→“导入数据”选项→根据原浏览器选择“文件格式”→选择文件(需从原浏览器导出)→“导入数据”按钮。

各平台客户端的安装与使用

在成功部署 VaultWarden 并配置好反向代理后,接下来我们需要在各个平台上安装 Bitwarden 客户端,以便能够方便地管理和使用我们的密码。VaultWarden 完全兼容 Bitwarden 客户端,因此我们可以直接使用 Bitwarden 的官方客户端来连接我们自托管的 VaultWarden 服务。

1. 浏览器扩展

Bitwarden 提供了多种浏览器的扩展程序,支持 Chrome、Firefox、Edge、Safari 等主流浏览器。以下是安装和使用步骤:

安装扩展:

打开你使用的浏览器的扩展商店(如 Chrome 网上应用店、Firefox 附加组件商店等)。

搜索 "Bitwarden"。

点击 "添加到浏览器" 或 "安装" 按钮,等待扩展安装完成。

【配置扩展】:

安装完成后,点击浏览器右上角的 Bitwarden 图标。

在弹出的登录界面中,点击右上角的齿轮图标(设置)。

在 "服务器设置" 中,将 "服务器 URL" 修改为你自托管的 VaultWarden 服务的地址。

返回登录界面,输入你的主密码并登录。

【使用扩展】:

登录后,可以通过点击 Bitwarden 图标来查看和管理你的密码。

在需要登录的网站上,Bitwarden 会自动填充用户名和密码,或者你可以手动选择相应的登录信息。

2. 移动端应用

Bitwarden 提供了 iOS 和 Android 的移动端应用,方便你在手机上随时随地访问你的密码。

【下载与安装】:

打开 App Store(iOS)或 Google Play Store(Android)。

搜索 "Bitwarden"。

点击 "安装" 或 "获取" 按钮,等待应用安装完成。

【配置应用】:

打开 Bitwarden 应用。

在登录界面中,点击右上角的齿轮图标(设置)。

在 "服务器设置" 中,将 "服务器 URL" 修改为你自托管的 VaultWarden 服务的地址。

返回登录界面,输入你的主密码并登录。

【使用应用】:

手机或平板上,可以设置密码自动填充服务。安卓一般在输入法设置中,苹果很久没用了,请各位自行研究吧。

设置完成后,即可在需要登录的应用或网站上,使用 Bitwarden 自动填充用户名和密码功能了。

总结

通过以上步骤,我们已经成功在 Docker 上部署了 VaultWarden,并在各个平台上安装了 Bitwarden 客户端。现在,可以随时随地访问和管理自己的密码库,享受安全、便捷的密码管理体验。无论是浏览器、桌面、移动设备还是命令行,Bitwarden 都为你提供了全面的支持,确保你的密码安全无忧。

如果伙伴们有任何问题或需要进一步的帮助,欢迎给笔者留言,笔者会尽力为你解答。

最后,让我们携手步入这崭新的一年,共同书写更多精彩篇章。再次祝大家春节快乐,万事如意!
个人观点,仅供参考

原创 SageHome 阿汤电脑讲堂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876961.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

并发编程 - 线程同步(二)

ThreadStatic实现线程本地存储,避免共享资源问题;ThreadLocal解决其缺陷;volatile关键字防止缓存和编译器优化,非完整线程同步机制。经过前面对线程同步初步了解,相信大家对线程同步已经有了整体概念,今天我们就来一起看看线程同步的具体方案。01、ThreadStatic 严格意义…

深度学习基础理论————混合专家模型(MoE)/KV-cache

1、混合专家模型(MoE) 参考HuggingFace中介绍:混合专家模型主要由两部分构成: 1、稀疏的MoE层:这些层代替了传统 Transformer 模型中的前馈网络 (FFN) 层。MoE 层包含若干“专家”(例如 8 个),每个专家本身是一个独立的神经网络。在实际应用中,这些专家通常是前馈网络 (…

gin: 使用独立的路由文件和controller文件

一,目录结构:二,代码: 1,controller/ImageController.go package controllerimport ("github.com/gin-gonic/gin""net/http" )type ImageController struct{}func NewImageController() ImageController {return ImageController{} }//得到详情 func (i…

2024年终总结——我自风中来,又往风中去

目录前言碎语事件简单记录(参考自己的朋友圈)疑为前城去连云港——小青岛,南北交,桃花源记忆点不大的一些城市……上海——夜之城北京——梦之城似是故人来技术或科研——向现实进发生活——认识我,改变我绩点——继续维稳比赛——淡化、反思音乐——重拾展望——勇敢的向…

Java 序列化流

目录概述ObjectOutputStream类构造方法序列化操作ObjectInputStream类构造方法反序列化操作1反序列化操作2 概述 Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后…

【持续更新】【专题】初等数论【更新逆元】

【持续更新】【专题】初等数论 Designed By:FrankWkd 【100%原创】【禁止搬运】 Updated at 2025.01.26 前言:主要从线性筛开始速通初等数论 尽可能的多证明结论而不是阐述结论。如果你只是想回顾结论,请看其他人的 \(Blog\) .一、基础概念整除:对于两个正整数 \(a,b\), 存…

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)

四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用) @目录四.3 Redis 五大数据类型/结构的详细说明/详细使用( hash 哈希表数据类型详解和使用)2.hash 哈希表常用指令(详细讲解说明)2.1 hset <key><field><value> 给<…

qcom usb PD tcpc overview

该软件层将PMxxxxB硬件连接到LPM模块,因为上述模块使用Type-C端口控制器接口(TCPCI)进行通信。 软件层,使PMIC Type-C PD硬件适用于基于TCPCI的软件架构 基本状态机:进入、离线、待机状态 PMIC Type-C和PD PHY中断的消费者 PMIC硬件专用排序和定时器

男生如何自己简单理发

快过年了,给自己理个发。 从24年10月份开始,目前已经给自己理发两次,都是短发寸头,给我爸和我三叔各理发一次,算是有点经验了,我准备过年前给自己再稍微修理头发一下。自己动手实践,且效果还不错的情况下,真的非常有成就感,如果有人指导情况下,其实自己理发难度不高,…

测序中的GC偏好

001、 测序中的GC偏好指的是基因组上GC含量在50%左右的区域更容易被测到,产生的reads更多,这些区域的覆盖度更高,在高GC或者低GC区域,不容易被测到,产生较少的reads,这些区域的覆盖度更少。用基因组单位长度的bin中的GC含量作为横坐标,覆盖度作为纵坐标作图,可以明显的…

人工智能(AI)简史:推动新时代的科技力量

人工智能(AI,Artificial Intelligence)是计算机科学的一个分支,旨在研究和开发可以模拟、扩展或增强人类智能的**系统**。它涉及多种技术和方法,包括机器学习、深度学习、自然语言处理(NLP)、计算机视觉、专家系统等。一、人工智能简介 人工智能(AI,Artificial Intell…