简单搭建自己的私人密码库!Bitwarden 部署安装教程 (免费 1Password 替代品)
2021-11-17 21:43:01 Author: www.iplaysoft.com(查看原文) 阅读量:157 收藏

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

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

腾讯云双 11 优惠秒杀

推荐服务器:腾讯云  |  阿里云  |  更多

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

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

Bitwarden 密码管理器

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

搭建 Bitwarden 前的准备

服务器:

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

值得推荐的服务器

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

域名:

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

简单搭建部署 Bitwarden 教程:

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

安装 Docker

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

# 1、(可选)更新系统的软件包
yum update -y

# 2、安装 docker 依赖的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2

# 3、添加 docker 的 yum 源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 4、通过 yum 安装 docker
sudo yum install docker-ce docker-ce-cli containerd.io
# 如上述命令出错,可能是系统上已有旧版本 Docker,需要先卸载旧版本
# 卸载命令:yum remove docker docker-common docker-selinux docker-engine docer-io

# 5、启动 Docker 服务并设置开机启动
sudo systemctl start docker
sudo systemctl enable docker

# 6、测试 docker 是否安装成功 (查看版本号)
docker version
# 有 client 和 service 两部分表示 docker 安装并启动成功了(有部分错误不用管)

安装 Docker Compose:

# 1、首先前往 https://github.com/docker/compose/releases/latest 查看最新的 docker-compose 版本号,比如截稿时最新版本为 2.1.1。

# 2、下载最新版本的 docker-compose,你需要将下面的 2.1.1 替换成最新的版本号
sudo curl -L "https://github.com/docker/compose/releases/download/2.1.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 3、授予可执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 4、测试是否安装成功(可能需要重启系统)
docker-compose -v
# 安装成功会显示 docker-compose 版本

安装 Bitwarden 服务端

确认服务器已成功安装好 Docker 和 Docker Compose 之后,我们就可以来安装 Bitwarden 了。其实 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 配置代里。

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

  1. Enter the domain name for your Bitwarden instance
    输入你要给 Bitwarden 分配的域名,这里例子为 bitwarden.iplaysoft.com
  2. Do you want to use Let’s Encrypt to generate a free SSL certificate? (y/n)
    是否使用 Let's Encrypt 自动生成免费的 SSL 证书,一般选 y (你有自己的证书也可以选 n,后面需要配置证书的路径)
  3. Enter the database name for your Bitwarden instance
    输入用于 Bitwarden 的数据库名称
  4. Enter your installation id / Enter your installation key
    你需要访问 https://bitwarden.com/host (官网被 xx 无法访问的话,只能各显神通了) 获取一组安装 ID 和安装密钥 Key

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

  • 如果你需要使用自己的 SSL 证书、修改默认的端口号等需求,可以编辑配置文件 ./bwdata/config.yml。比如你的服务器本身就有网站占用了 80、443 端口,那么可以修改配置里的 http_port 和 https_port 端口号来避免冲突。比如我改成 8080 和 8888,这样日后我访问时的域名就是 https://bitwarden.iplaysoft.com:8888 了。
  • 要注意的是,腾讯云阿里云等机器默认的「安全组规则」会阻止非常用端口的访问,如使用非 80/443 端口,需要登录后台修改安全组规则允许你设置的端口才行。
  • 另外,如果你使用「宝塔面板」,或者懂得修改 Nginx 的配置,也可以对你的 bitwarden 服务进行“反代”,有建站经验的朋友,可以查查相关的资料,搞定应该不难。
  • 修改完后,必须执行一下 ./bitwarden.sh rebuild 命令才能让新配置生效

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

  • 另外,在环境配置文件 ./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 的进程。

“OK,至此一切搞定了!”

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

bitwarden 密码管理器客户端

尽管目前无论从颜值还是使用体验上都仍比不上付费的 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 本身各平台客户端和浏览器插件都非常齐全,使用体验佳,能满足绝大多数人对密码管理的要求了。

/ 关注 “异次元软件世界” 微信公众号,获取最新软件推送 /

如本文“对您有用”,欢迎随意打赏异次元,让我们坚持创作!

赞赏一杯咖啡


异次元软件世界、iPcFun.com 网站创始人。

本来名字很酷,但很无辜地被叫成小X,瞬间被萌化了。据说爱软件,爱网络,爱游戏,爱数码,爱科技,各种控,各种宅,不纠结会死星人,不折腾会死星人。此人属虚构,如有雷同,纯属被抄袭……

看看Ta的专栏  |   微博  |  微信公众号  |  Twitter  |  邮箱  |  

本文作者

还有这些值得一看:


文章来源: https://www.iplaysoft.com/bitwarden-self-host.html
如有侵权请联系:admin#unsafe.sh