首页 > 其他分享 >搭建自己的私人密码库!Bitwarden 部署安装教程 (免费 1Password 替代品)

搭建自己的私人密码库!Bitwarden 部署安装教程 (免费 1Password 替代品)

时间:2023-08-21 17:34:21浏览次数:39  
标签:bitwarden 1Password 密码 Bitwarden 替代品 服务器 Docker 安装

常生活中我们几乎每个人都会拥有大量网站帐号,时间久远了密码很容易忘记。因此,像 1Password 等密码管理 + 同步 + 一键登录的工具成为了很多人的首选。

然而 1Password 毕竟要付费,也有人会担心这类工具有隐私泄露的风险。其实,如果你有一台自己的 VPS 服务器,那么就能用开源的 Bitwarden 部署搭建一个私人专属的密码管理服务来代替 1Password!这样不仅免费,重要的是,所有的数据均保存在自己服务器上,更加放心……

用 Bitwarden 部署免费安全的私人密码库 / 密码管理器

「Bitwarden 免费密码管理器」开源免费,跨平台支持 Windows、Mac、Linux、iOS、Android 平台,同时也提供了 Chrome、Edge、Firefox、Safari 等浏览器扩展可实现快速填充帐号密码一键登录网站,是一款非常不错的 1Password 免费替代品。

image

而最重要的是,Bitwarden 支持本地托管,可以搭建私人专属密码库,部署到自己的服务器、 NAS、树莓派等设备上去,所有的密码数据、通讯都不会经过第三方,更能让人放心。特别是如果你本来就有用 VPS 搭建过「私有的网盘、博客」,那么加一个密码管理器也是十分实用的。

搭建 Bitwarden 前的准备

服务器

准备一台稳定靠谱的服务器,推荐「腾讯云、阿里云」等国内大厂!趁 618、双 11 秒杀或各种活动优惠入手的话是非常便宜的,大家可以根据实际需求选择带宽和配置。

单做密码管理的话要求很低,但如果你希望能多用途利用,那么优先选择内存和带宽高点的机型。网络好的话也可以选择 Vultr、般佤工、Linode、DigitalOcean 等国外几大口碑主机商。

域名

另外你还需要注册一个域名用于访问你的服务器。然后进入你的域名 DNS 解析后台,新增一条 A 记录指向你的服务器 IP (这一步最好先做,因为部分 DNS 生效会比较久),这里假设我使用域名为 bitwarden.domain.com

简单搭建部署 Bitwarden 教程

这篇教程以「Debian / Ubuntu」为例子,CentOS 等系统也能作为参考 (无非主要就是 apt-get 改成 yum 了)。我们主要使用到 “Docker” 进行部署,它能帮你一键安装配置并虚拟化运行 Bitwarden 需要用到的全部组件,省去你一个个手动安装和配置运行环境的各种麻烦。

安装 Docker 和 Docker Compose

如果你的服务器上已经安装了 Docker 和 Docker Compose,这一步就可以跳过了。Docker 要求 CentOS 系统的内核版本高于 3.10,可以运行 uname -r 查看版本。

如果没有安装,请转自 Docker/Docker Compose 安装 进行。

安装 Bitwarden 服务端

确认服务器已成功安装好 Docker 和 Docker Compose 之后,我们就可以来安装 Bitwarden 了。

Bitwarden 提供了一个 Shell 脚本,可以轻松地在 Linux 和 macOS(Bash)或 Windows(PowerShell)上安装。完成以下步骤以使用 shell 脚本安装 Bitwarden:

# 1、下载 Bitwarden 的安装脚本
curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh && chmod 700 bitwarden.sh

# 2、执行安装程序
./bitwarden.sh install
# 由于 docker 镜像的体积比较大,国内网络可能遇到中途卡住不动的情况,可按下 Ctrl+C 终止再重试,多次不行的话,可以参考网上的其他教程为 Docker 配置代里。

接着,安装脚本会一步步提示你输入,下面是部分重点选项:

  • Enter the domain name for your Bitwarden instance
    输入你要给 Bitwarden 分配的域名,这里例子为 bitwarden.domain.com

  • Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n)
    是否使用 Let's Encrypt 自动生成免费的 SSL 证书,一般选 y (你有自己的证书也可以选 n,后面需要配置证书的路径)

  • Enter the database name for your Bitwarden instance
    输入用于 Bitwarden 的数据库名称

  • Enter your installation id / Enter your installation key
    你需要访问 https://bitwarden.com/host 获取一组安装 ID 和安装密钥 Key (官网被 xx 无法访问的话,只能各显神通了)

修改配置文件 (端口号、SSL 证书等)

  • 如果你需要使用自己的 SSL 证书、修改默认的端口号等需求,可以编辑配置文件
    ./bwdata/config.yml。比如你的服务器本身就有网站占用了 80、443 端口,那么可以修改配置里的 http_port 和 https_port 端口号来避免冲突。比如我改成 8080 和 8888,这样日后我访问时的域名就是 https://bitwarden.domain.com:8888 了。

  • 要注意的是,腾讯云、阿里云等机器默认的「安全组规则」会阻止非常用端口的访问,如使用非 80/443 端口,需要登录后台修改安全组规则允许你设置的端口才行。

  • 另外,如果你使用「宝塔面板」,或者懂得修改 Nginx 的配置,也可以对你的 bitwarden 服务进行“反代”,有建站经验的朋友,可以查查相关的资料,搞定应该不难。

  • 修改完后,必须执行一下 ./bitwarden.sh rebuild 命令才能让新配置生效。

修改环境配置文件(可选)

安装程序 bitwarden.sh 未配置 Bitwarden 的某些功能。通过编辑位于 ./bwdata/env/global.override.env 的环境文件来配置这些设置。

  • 在环境配置文件 ./bwdata/env/global.override.env 里有诸如 SMTP、启用Yubico、启用系统管理员门户、是否禁止用户注册等设置。

  • 其中,如果你的 Bitwarden 打算是私人使用,建议在注册完自己账号之后,改成 “禁止用户注册”,对应的项为:globalSettings__disableUserRegistration=false

  • 修改此文件后,需要重启 Bitwarden 容器才能生效,重启命令为:./bitwarden.sh restart

启动 Bitwarden 服务

./bitwarden.sh start

首次启动 Bitwarden 可能时间会比较长,因为安装脚本要从 Docker Hub 下载全部需要的组件的镜像,比如 MySQL 体积就比较大,耐心等待完成即可。之后,可以使用 docker ps 命令来查看是否有 Bitwarden 的进程。

PowerShell 用户将以前缀-(开关)运行命令。例如.\bitwarden.ps1 -start。

docker ps

docker ps

image

正常的话就能通过域名访问了,例如 https://bitwarden.domain.com:8888 。这里就是你自己的 Bitwarden 私人密码库网页版了,之后就能去下载各种客户端使用了,登录时填入自己的 Bitwarden 服务器地址即可。

image

尽管目前无论从颜值还是使用体验上都仍比不上付费的 1Password,但 Bitwarden 免费开源、支持私有化部署也有着相当的优势。上手习惯之后,你会发现 Bitwarden 还是挺好用的,毕竟它也拥有全平台客户端支持,基本能满足一般人对密码管理器的所有期待。而且它也支持无缝导入 1Password 的数据,确实算是相当不错的 1Password 免费替代方案了。

后续维护命令:

bitwarden.sh 脚本可以使用的命令

命令 描述
install 启动安装程序
start 启动所有容器
restart 重新启动所有容器(与启动相同)
stop 停止所有容器
update 更新 Bitwarden 版本
updatedb 更新/初始化数据库
updateself 更新 bitwarden.sh 文件本身
updateconf 更新所有容器,而无需重新启动正在运行的实例
renewcert 续订证书
rebuild 重建 config.yml 的配置
help 列出所有命令

备份 Bitwarden 密码数据 (可选)

Bitwarden 的全部数据都保存在 ./bwdata 目录下,建议你定期备份这个目录的全部内容到其他地方以防意外。其中的内容包括:

  • ./bwdata/env - 实例的环境变量,包括数据库和证书密码

  • ./bwdata/core/attachments - 实例的密码库项目的附件

  • ./bwdata/mssql/data - 实例的数据库数据

每天 Bitwarden 也会自动对 MySQL 容器 中的数据库进行备份。备份文件默认保存在./bwdata/mssql/backups 目录中,保留 30 天。

总结

尽管这篇文章看起来很长,但实际上如果你熟悉 Linux 操作,搭建部署本地托管的 Bitwarden 还是挺简单的。而除了服务器,你还可以部署在家里的树莓派或 NAS 上 (可能需要内网穿透)。

对于喜欢学习、喜欢折腾、有自己服务器的人,都建议试试用 Bitwarden 自建部署专属个人的密码库,这不仅完全免费,而且数据全部拽在自己手里,更有安全感!加上 Bitwarden 本身各平台客户端和浏览器插件都非常齐全,使用体验佳,能满足绝大多数人对密码管理的要求了。

标签:bitwarden,1Password,密码,Bitwarden,替代品,服务器,Docker,安装
From: https://www.cnblogs.com/shyurongli/p/17646480.html

相关文章

  • SSDB Redis替代品
    SSDB是一个快速的用来存储十亿级别列表数据的开源NoSQL数据库。项目地址:https://github.com/ideawu/ssdbhttp://ssdb.io/特性替代 Redis 数据库,Redis的100倍容量LevelDB网络支持,使用C/C++开发RedisAPI兼容,支持Redis客户端适合存储集合数据,如list,hash,zse......
  • bitwarden 私有化部署android无法登陆问题解决
    安卓版bitwarden安装使用中登陆提示“发生错误。Exceptionmessage:java.security.cert.CertPathValidatorException:Trustanchorforcertificationpathnotfound.”这个错误是因为Bitwarden的证书文件中缺少中间证书导致安卓系统的证书校验异常解决方式,生成带证书链的证......
  • 如何导出 1Password 密码库拷贝到另个1password账户
    导出目前登录名为1pass账户选择所有项目-》导出-》你的账号名导出格式选择1PUX会出现一个名为1PasswordExport-TCETPFBRCREDJF7UKOT3TY2BCE-20230723-133048.1pux文件导入目前登录名为2pass账户选择导入-》从文件选择刚刚生成的名为1PasswordExport-TCETPFBRCREDJF7UK......
  • docker run -d --name bitwarden -v /bw-data/:/data/ -p 8800:80 bitwardenrs/se
    DockerRun命令实现Bitwarden容器化引言在现代软件开发和部署中,容器化技术正变得越来越流行。Docker是一个用于构建、发布和运行应用程序的开源平台,它可以将应用程序及其依赖项打包到一个容器中,提供了一种轻便、可移植和可扩展的方式来部署应用程序。在本文中,我们将学习如何使用......
  • ChatGPT 最好的替代品
    前两天我们邀请了微软工程师为我们揭秘ChatGPT,直播期间有个读者问到:有了ChatGPT,BERT未来还有发展前途吗?我想起来最近读过的一篇博客“最好的ChatGPT替代品”。不过聊到这俩模型,就不得不提到Transformer。作为当下最先进的深度学习架构之一,Transformer被广泛应用于自然语言......
  • Podman:Docker 的替代品?
    虽然docker无疑彻底改变了我们开发、部署和运行应用程序的方式,但值得探索一下Podman(PodManager)的与众不同之处以及为什么您可能想开始使用它。在本文中,假设每个人都已经熟悉Docker,我们将深入探讨podman的核心功能。开始吧!(更|多优质内|容:java567点c0m) ##波德曼是什......
  • Reqable HTTP一站式开发+调试工具(小黄鸟作者另一力作、小黄鸟替代品)
    本文所有教程及源码、软件仅为技术研究。不涉及计算机信息系统功能的删除、修改、增加、干扰,更不会影响计算机信息系统的正常运行。不得将代码用于非法用途,如侵立删!ReqableHTTP一站式开发+调试工具(小黄鸟作者另一力作、小黄鸟替代品)环境win10pixel4Android13概览官网......
  • bitwarden 搭建密码管理服务器
    BitwardenOpenSourcePasswordManager支持多端同步部署代码点击查看代码mkdir/app/bitwarden/datadockerrun-d\--rm\--namebitwarden\-p8080:80\-p3012:3012\-eSIGNUPS_ALLOWED=true......
  • Java8-Predicate 策略模式的替代品消灭 if else
    使用策略模式消灭ifelse,可以利用Java8的新特性来实现策略模式。利用Java8的Predicate消灭ifelse。首先定义一个map,key是不同的服务代码,value是需要做校验的条件,然后针对不同的服务代码做校验。当然Supplier、Consumer都可以做类似的实现。//定义校验的策略映射关系staticM......
  • mac everything的替代品——fzf使用,速度还是很快的!!!
    fzf模糊搜索神器的安装和使用fzf是一个通用的命令行模糊查找器,通过输入模糊的关键词就可以定位文件或文件夹。结合其他工具(比如rg)可以完成非常多的工作,在工作中可以大幅提高你的工作效率。fzf可以用于文件、命令历史记录、进程、主机名、书签、git提交等。1.fzf使用1.1安装 ......