管理管理器是个非常好用的东西,可以帮我们轻易记住各个网站的用户名和复杂无规律的密码等,还能创建用户时生成安全的密码。之前我一直依赖Chrome自带的密码管理器 非常好用自动同步 网站加载填充密码 生成密码等最基础的功能。
但是后面我发现,手里注册了好几个Google账号 不同的账号干不同的事情 密码不同步 需要取一个密码的时候很麻烦,自建一个Bitwarden想法很久之前就有了 但是一直懒得实现并且官方推荐4G内存服务器,最低也是2G服务器,手头也是没有空闲的服务器。
:p[]{.center}
于是我用了几个月的1Password,几美金一个月 软件的UI界面也是非常的好看,但是每个月花几十块钱去托管我的密码我还是有一点心疼的,好在最近我手欠又购买了一台年付的4H4G服务器,购买完就后悔又不能退款 于是自建Bitwarden就诞生了。
先说两款产品对我的差异,1Password好看 UI给人很舒服 密码管理器功能都有,唯一密码填充并没有让我感觉到比Chrome原生的舒服,Bitwarden的UI一般,也是网页加载的密码填充问题 可能两款软件使用时间比较少 磨合还不到位。
直接采纳官方的Linux标准部署:https://bitwarden.com/help/install-on-premise-linux/
首先准备一个域名解析到服务器,然后一台最低2G内存的服务器 4G最优 并且服务器纯净环境。
安装Docker和Docker-Compose:Docker一键安装脚本
1.创建 bitwarden 用户:
sudo adduser bitwarden
2.为 bitwarden 用户设置密码(强密码):
sudo passwd bitwarden
3.创建一个 docker 组(如果它尚不存在):
sudo groupadd docker
4.将 bitwarden 用户添加到 docker 组:
sudo usermod -aG docker bitwarden
5.创建 bitwarden 目录:
sudo mkdir /opt/bitwarden
6.设置/opt/bitwarden目录的权限:
sudo chmod -R 700 /opt/bitwarden
7.将 bitwarden 用户设置为/opt/bitwarden目录的所有者:
sudo chown -R bitwarden:bitwarden /opt/bitwarden
Bitwarden 提供了一个 shell 脚本,可在 Linux 和 Windows(PowerShell)上轻松安装。完成以下步骤即可使用 shell 脚本安装 Bitwarden:
su bitwarden #先切换用户 再执行下面的脚本
curl -Lso bitwarden.sh "https://func.bitwarden.com/api/dl/?app=self-host&platform=linux" && chmod 700 bitwarden.sh
./bitwarden.sh install
输入你的域名:
[bitwarden@vultr ~]$ ./bitwarden.sh install
_ _ _ _
| |__ (_) |___ ____ _ _ __ __| | ___ _ __
| '_ \| | __\ \ /\ / / _` | '__/ _` |/ _ \ '_ \
| |_) | | |_ \ V V / (_| | | | (_| | __/ | | |
|_.__/|_|\__| \_/\_/ \__,_|_| \__,_|\___|_| |_|
Open source password management solutions
Copyright 2015-2024, 8bit Solutions LLC
https://bitwarden.com, https://github.com/bitwarden
===================================================
bitwarden.sh version 2024.6.1
Docker version 26.1.4, build 5650f9b
docker-compose version 1.29.2, build 5becea4c
(!) Enter the domain name for your Bitwarden instance (ex. bitwarden.example.com):
是否开启SSL:
(!) Do you want to use Let's Encrypt to generate a free SSL certificate? (y/n):
输入一个申请证书的邮箱:
Enter your email address (Let's Encrypt will send you certificate expiration reminders)
等待十几秒申请证书,然后出现下面的内容(输入数据库名):
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(!) Enter the database name for your Bitwarden instance (ex. vault):
安装ID和KEY去https://bitwarden.com/host/获取:
(!) Enter your installation id (get at https://bitwarden.com/host):
(!) Enter your installation key:
(!) Enter your region (US/EU) [US]:
完成这些操作你会发现屏幕还是出现一些点 等待十几秒就部署一半了,我们的整体文件在:/home/bitwarden/bwdata
我们也可以修改/home/bitwarden/bwdata/env/global.override.env
文件,具体一些内容什么意思大家可以看:https://bitwarden.com/help/install-on-premise-manual/ 如果你想要后台功能 可以在这个文件配置发信邮箱。
后台就是域名+admin 登录需要输入管理员邮箱 应该就是申请ID和KEY输入的邮箱 然后收一封邮件才能登录,后台功能貌似只有一些查看用户管理用户的功能,看不到用户的一些密码。我没有配置发信邮箱 所以我也不是很清楚有那些功能。
如果你不懂这个文件,可以不动他,然后执行:./bitwarden.sh start
等待镜像拉取完成就能访问你的域名了,创建账号登录账号然后导入密码,并且在浏览器或者设备上安装好Bitwarden,登录的时候选择自托管就行了。
:p[]{.center}
Bitwarden会自己每天备份数据库,主体文件都在/home/bitwarden/bwdata
大家备份这个目录就可以了。
然后备份文件怎么恢复啥的目前我还没有实践过,大家可以去看官方的文档去操作。