PD虚拟机    VPS    微软    Win10    苹果    SetApp    Office

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

 安全隐私, 技术教程    , , , , ,    2021-11-17
简单搭建自己的私人密码库!Bitwarden 部署安装教程 (免费 1Password 替代品)
32 下载

日常生活中我们几乎每个人都会拥有大量网站帐号,时间久远了密码很容易忘记。因此,像 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 获取一组安装 ID 和安装密钥 Key (官网被 xx 无法访问的话,只能各显神通了)

修改配置文件 (端口号、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 本身各平台客户端和浏览器插件都非常齐全,使用体验佳,能满足绝大多数人对密码管理的要求了。

相关文件下载地址

官方网站:访问
软件性质:免费
相关链接:1Password  |  VPS 服务器推荐

Bitwarden 客户端介绍+下载  |  密码相关  |  服务器相关

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

  • 凹凸曼

    小X你可太懂我了!!刚买的服务器瞬间又香了

    2021-11-17 21:12:32
  • 杨逍

    好文章!趁着还有优惠,入手了一台腾讯云。成本比买1password便宜多了,还能再搭个网盘自己用。

    2021-11-17 21:17:07
  • 大头菜

    我一开始部署在群晖里,但偶尔断电呀、家里网络断掉、出远门关机时就不好使,最后还是买了服务器,只要是用这个和cloudreve(也是异次元推荐的),稳定使用至今!

    2021-11-17 21:26:55
    • ou

      怎么就不好使了,客户端同步之后数据库是保存在本地的。你一个密码库有多大实时同步的需求呢?我自己用群晖跑一年了,可以说Bitwarden是我用过的最好用的密码管理软件。我win+mac+ios+android,只有bitwarden可以满足全平台体验一致、自动填充、开源。以前用keepass+WebDAV,自动填充和跨平台是个大问题。

      2021-11-19 11:23:35
  • Miyoyo

    主流的密码管理器都试了个遍,这个也用了几个月,最后还是选择了1Password,省心……

    2021-11-17 21:33:05
  • 12

    如果服务器被黑了,那不就全泄露了。。一般人能够及时的做安全加固吗

    2021-11-17 21:42:23
    • 霸霸

      别人建的云,又说东西放别人那不安全;给你自己建,又说怕被黑,到底是想怎样?

      2021-11-18 01:34:08
    • 小豆丁

      你想得太简单了,这种密码管理器,即使整个数据库暴露并被拷走,只要对方没有你的主密码依然无法解密出任何有用的数据。安全性比你想象得高多了。同样的,要是你忘记主密码了,谁都救不了你。

      2021-11-18 04:21:09
    • Daysun

      Bitwarden用了AES256加密,只要你主密码不是过分简单容易被猜出,那么即便数据库完全被盗,你也根本不需要担心这世界上能有人破解出来….

      2021-11-18 04:30:07
  • lstz

    帮你保管密码,你把握得住这个管家的行为吗?

    2021-11-17 22:30:24
    • XcodeY

      这管家都扒开给你看开源了,你当然把握得住

      2021-11-18 09:51:37
  • mycafee

    密码软件用KeePass,数据库文件用Onedrive同步,安全可靠。

    2021-11-18 08:53:11
  • lbsdsdd

    用了几年的keepass,浏览器插件还是不太好用,换了BIT后感觉很好用啊,现在一直在用这个,虽然自己有NAS,有VPS,也有域名,还是懒得自己搭了,反正每个网站都是生成的不同强密码,主密码也较复杂,哪里都能用,还不折腾,就这样挺好的,

    2021-11-18 09:23:02
  • clf

    私有化还是用bitwarden_rs的镜像好,官方镜像用的sql server,巨消耗资源。

    2021-11-18 10:03:55
  • 木头烤鱼

    这个真的好用,用了一年多了。。

    2021-11-18 10:43:25
  • ScotGu

    整不起,刚把bitwarden跑起来就占了我380M内存,用bitwarden_rs跑半个月还不到50M。
    更重要的是开了太多的docker,企业用还说得过去,私有密码库而已,弄复杂了更不好维护。
    NAME:MEMUSAGE
    bitwarden-nginx:14.62MiB;
    bitwarden-admin:36.95MiB;
    bitwarden-sso:46.29MiB;
    bitwarden-identity:44.84MiB;
    bitwarden-web:16.31MiB;
    bitwarden-icons:46.96MiB;
    bitwarden-events:44.8MiB;
    bitwarden-attachments:21.84MiB;
    bitwarden-notifications:43.86MiB;
    bitwarden-api:64.05MiB;

    2021-11-18 11:09:23
  • 薛定谔

    不会建,但bit warden真的好用

    2021-11-18 11:12:46
    • cpk

      没有1Password好用,自动填充和自动保存都有点问题。

      2021-11-29 12:32:12
  • EDG

    跟着教程搭建成功了!!谢谢站长,服务器又多了个好用途

    2021-11-18 15:19:18
  • 叶子

    还是用Google吧

    2021-11-18 15:27:36
  • Crytek

    之前一直用keepass+坚果云WebDAV 倒也能满足自己使用需求 就是登录的时候还得打开软件有点烦 感觉那个浏览器的插件还是不大好用

    2021-11-18 19:41:30
  • hoooops

    谢谢推荐。群晖docker已经跑起来了,彻底告别1passWord(旧版)了。

    2021-11-18 20:21:39
  • 天天忽悠

    Bitwarden用了很久了,说下个人感受吧 一直用的bitwardenrs/server这个映像,也没升级.现在好像升级改名了. 内存占用50MB左右 我自己的做法是完全部署在内网,手机 浏览器 通过内网进行同步,毕竟密码不是经常需要添加和修改,就只有在家里可以同步,但是同步完成后数据是存在手机或者浏览器插件里的.所以服务端基本没有安全问退. 但是部署Bitwarden网页端必须使用https ,不过证书可以不匹配 Android手机客户端则可以直接http访问 只有ios端必须https而且证书要匹配(所以ios纯内网使用会比较麻烦,因为我ios设备很少,我自己做法是只在需要同步的时候开启内网穿透,同步完立马关)

    2021-11-18 23:14:54
  • along

    emmm,有个问题想问下。就是关闭注册那个选项我false,restart之后还是有呢?

    2021-11-20 02:01:20
    • HandsomeMan

      按钮不会消失,填完资料点击提交会提示不允许注册或已存在用户

      2021-11-21 22:35:46
  • 我心依旧

    难道就不支持 webDev 协议吗,这样的话就可以使用坚果云之类的了。

    2021-11-20 11:04:04
  • 温氏效应

    看似免费,一台服务器的价格,又把免费的东西搞成收费的了。何况一般小白哪懂得服务器的维护,服务器被黑了,岂不又抓瞎了。

    2021-11-26 11:36:07
  • 张三

    为什么按照此方法搭建成功后,在页面进行注册和登录时提示An unhandled server error has occurred. ???

    2021-11-26 14:45:42
  • miao

    Lastpass收费后就转到Bitwarden了,个人用其实完全不用自建

    2021-11-27 15:33:54
  • Saber

    GitHub上有个根据官方API弄的个项目兼容的.用docker跑起来超级简单.
    github.com/dani-garcia/vaultwarden

    2021-11-30 11:18:18
  • Windlee

    如果之后要更换域名,要怎么操作呢?重新执行一遍安装程序?

    2021-11-30 19:48:55
    • SanSan

      修改配置文件之后rebuild一下应该就行了吧

      2021-12-1 03:11:41





评论内容 (*必填):
Ctrl + Enter 快速提交   

赞赏异次元


请通过支付宝、微信 APP 扫一扫,海外读者可「使用 PayPal 赞赏

“ 感谢您对异次元网站的支持! ”