需要的条件

  1. 一台国内/国外服务器

  2. 一个国内/国外的域名(如果没有可以参考最下面的自签名IP证书实现HTTPS访问

注意,如果服务器与域名必须同时为国内或者国外的。混搭是会出现问题的(可以去常见问题处查看混搭的下场)。

使用1panel一键安装

手动安装好几次之后才发现1panel面板是自带Vaultwarden的。

1、安装1panel

1panel安装文档

根据操作系统一键安装即可。

2、应用商店安装Bitwarden

应用商店里的bitwarden,实际上就是Vaultwarden。

至少写这篇文章时是的。(2024年11月13日18:10:27)。

不需要勾选端口对外访问,也不需要编辑compose文件,首先安装好。

3、配置反向代理

前往你的DNS配置里,我这里是Cloudflare,添加一条指向密码服务器的A记录(IPV6地址是AAAA记录)。

然后回到1panel面板中,前往网站页面,配置反向代理

然后申请一个SSL证书(这一步其实不是很需要,1panel有自签名证书,但是还是申请一个比较好)。

申请证书官方教程

申请完成证书后启动https连接。

4、访问域名,创建账号

请确保如下条件满足:

  • 服务器与域名处于同一地区,即国内服务器配置国内实名的域名,国外服务器配置国外的域名。

  • 如果是国内的域名必须实名并且过备案,不然概率(十次有9次)会被拦,国外域名忽略此条。

  • 按照前面的步骤配置好了。

然后直接访问域名就可以了。

5、安装插件,连接服务

在登录网页端后,他会提示你安装插件,点击就自动安装。

当然,如果你错过了,也可以去各个浏览器的插件商店里去安装。

谷歌浏览器插件

由于写这篇文章时,edge插件商店里的该插件消失了,所以放不了链接。

edge也可以通过访问谷歌浏览器插件的方式安装。

安装好之后,在登录界面选择自托管。

然后在URL选项输入https://你的域名

后面无需加/,输入完成保存即可。

之后使用你自己创建的用户名密码登录即可。

6、导入密码

在浏览器设置栏处搜索密码,不同浏览器位置不同,但是没太大区别。

点击去后选择导出密码

edge:

谷歌:

然后打开bitwarden浏览器插件,选择设置-密码框-导入密码:

格式选择chrome(CSV),选择导出的密码文件,点击导入数据即可

7、关闭注册,启用邮箱验证

以上功能无误时,就来到最关键的一步了。

为了密码库的安全性着想,以及你万一把主密码忘了,那这一步可太有用了。

回到1panel面板里,选择容器,点击更多,选择编辑

滑到最下面,来到编辑环境变量处

你需要在环境变量里添加如下内容(记得删注释):

# 禁止新用户注册
SIGNUPS_ALLOWED=false

# SMTP配置,用于发送邮件
SMTP_HOST=SMTP服务商提供的邮件服务域名
SMTP_FROM=发邮件用的邮箱
SMTP_PORT=SMTP服务商提供的域名
SMTP_SECURITY=force_tls
SMTP_USERNAME=发邮件用的邮箱(和上面那个一样就行)
SMTP_PASSWORD=申请SMTP服务时的tooken/key或者邮箱密码(大部分SMTP服务都是需要KEY的)
# 服务器的域名
DOMAIN=https://你的密码服务域名

添加完成后点击确认,等待容器重启后就可以了。

重启完成后访问你的密码服务网页,然后他会让你进行邮箱验证。

手动安装

手动安装比较繁琐,并且不支持自动更新,需要你本人实时关注官方动态,推荐1panel安装。

创建Vaultwarden工作目录

找个合适的位置,一键复制

mkdir -p ~/vaultwarden
cd ~/vaultwarden

创建数据目录

一键复制

mkdir -p ./vw-data

创建Docker Compose文件

一键复制

vim docker-compose.yml
services:
  vaultwarden:
    image: vaultwarden/server:latest
    container_name: vaultwarden
    restart: always
    volumes:
      - ./vw-data:/data
    env_file:
      - config.env
    ports:
      - "3721:80"

创建环境变量配置文件

一键复制

vim config.env
# 是否允许用户注册,先允许,等待创建好用户后回来修改成false
SIGNUPS_ALLOWED=true


# SMTP配置,用于发送邮件
SMTP_HOST=SMTP服务商提供的邮件服务域名
SMTP_FROM=发邮件用的邮箱
SMTP_PORT=SMTP服务商提供的域名
SMTP_SECURITY=force_tls
SMTP_USERNAME=发邮件用的邮箱(和上面那个一样就行)
SMTP_PASSWORD=申请SMTP服务时的tooken/key或者邮箱密码(大部分SMTP服务都是需要KEY的)
# 服务器的域名
DOMAIN=https://你的密码服务域名

# 数据库路径
DATABASE_URL=/data/vaultwarden.db

# 服务器线程数
ROCKET_WORKERS=10

# 是否启用Web客户端
WEB_VAULT_ENABLED=true



# 日志配置
LOG_LEVEL=warn
EXTENDED_LOGGING=true
LOG_FILE=/data/bitwarden.log


启动Vaultwarden

docker-compose up -d

更新Vaultwarden

docker-compose pull
docker-compose up -d

停止Vaultwarden

docker-compose down

以上为所需要的命令,一键复制粘贴即可,不过上面没有写反向代理过程,记的配置反向代理。

为什么需要个人密码管理器

随着接触的网站或者应用越来越多,账号也越来越多,而大多数人可能会采取两种方法:

  • 所有网站/应用采取同一密码

  • 干脆使用浏览器自带的自动保存

以上的弊端很明显,当你所有网站采取统一密码时,一旦其中一家发生密码泄露,或者你不小心被钓鱼网站骗到密码,那么,你所有的账号此时都会变得不再安全。

而当你使用浏览器自带的自动保存时,很容易出现忘记了密码而无法找回。并且,浏览器存储的密码保存在本地,是可以使用工具一键脱库的。以下为效果演示:

而这时,就需要个人密码管理器了。

常见问题

服务器与域名混搭

配置完反向代理后显示如下页面:

被墙了,此时回到你的DNS供应商那里,例如在.cloudflare,将TLS改为灵活,然后你再去访问

你会发现出现如下标题:

打开开发者模式,查看未被加载的连接,手动点进去,会发现:

出现这样的问题,如果是国内的域名或服务器,还是尽快备案的好。

未备案的情况下,如果服务器或域名都是国外的就不会出现这种问题。

连接非常慢,十次连接9次错误,勉强成功一次

域名没备案导致的。

没来得及截图,因为发现问题原因所在的时候我就已经把环境重装了。

验证方法:自签名IP,使用IP进行https访问,你会发现IP访问完全没问题。