找回密码
 立即注册
查看: 1348|回复: 0

Vaultwarden密码管理器的使用

[复制链接]

69

主题

0

回帖

11万

积分

VIP

积分
117731
发表于 2025-2-25 21:48:29 | 显示全部楼层 |阅读模式
本帖最后由 Millionaire 于 2026-2-28 22:09 编辑

img-1.jpg

Bitwarden是很受欢迎的开源密码管理器,可以安全地存储、管理和共享敏感的数据。Vaultwarden则是Bitwarden服务端的替代实现,资源占用少且更容易部署,添加Bitwarden的浏览器扩展程序,还可以拥有自动填充密码功能。
注意:Vaultwarden的使用建议开启HTTPS加密协议,以避免可能的MITM攻击。

一、安装Docker Desktop
Windows需要启用WSL 2,然后安装Docker Desktop

二、安装Vaultwarden
新建Vaultwarden文件夹,在文件夹中新建compose.yaml文件并将以下内容复制到文件。域名可以配置为你的域名,端口为80:80时使用http://127.0.0.1无法访问,原因就不多解释了。

  1. services:
  2.   vaultwarden:
  3.     image: vaultwarden/server:latest
  4.     container_name: vaultwarden
  5.     restart: always
  6.     environment:
  7.       DOMAIN: "https://vw.example.com"
  8.     volumes:
  9.       - ./vw-data/:/data/
  10.     ports:
  11.       - 8080:80
复制代码
以后台模式启动服务:
  1. docker compose up -d
复制代码
打开http://127.0.0.1:8080访问。

img-2.jpg

三、本地服务使用frp转发到公网
执行以下命令生成SSL/TLS证书时,复制/etc/ssl/openssl.cnf文件到当前路径,frps证书的subjectAltName部分应包含服务端公网IP。
ca证书:
  1. openssl genrsa -out ca.key 2048
  2. openssl req -x509 -new -nodes -key ca.key -subj "/CN=example.ca.com" -days 5000 -out ca.crt
复制代码
frps证书:
  1. openssl genrsa -out server.key 2048

  2. openssl req -new -sha256 -key server.key \
  3.     -subj "/C=CN/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=server.com" \
  4.     -reqexts SAN \
  5.     -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com")) \
  6.     -out server.csr

  7. openssl x509 -req -days 365 -sha256 \
  8.         -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
  9.         -extfile <(printf "subjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com") \
  10.         -out server.crt
复制代码
frpc证书:
  1. openssl genrsa -out client.key 2048
  2. openssl req -new -sha256 -key client.key \
  3.     -subj "/C=CN/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=client.com" \
  4.     -reqexts SAN \
  5.     -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:client.com,DNS:example.client.com")) \
  6.     -out client.csr

  7. openssl x509 -req -days 365 -sha256 \
  8.     -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
  9.         -extfile <(printf "subjectAltName=DNS:client.com,DNS:example.client.com") \
  10.         -out client.crt
复制代码
服务端frps.toml文件配置:
  1. bindPort = 7000

  2. transport.tls.force = true
  3. transport.tls.certFile = "server.crt"
  4. transport.tls.keyFile = "server.key"
  5. transport.tls.trustedCaFile = "ca.crt"
复制代码
客户端frpc.toml文件配置:
  1. serverAddr = "x.x.x.x"
  2. serverPort = 7000

  3. transport.tls.enable = true
  4. transport.tls.certFile = "client.crt"
  5. transport.tls.keyFile = "client.key"
  6. transport.tls.trustedCaFile = "ca.crt"

  7. [[proxies]]
  8. name = "Vaultwarden"
  9. type = "tcp"
  10. localIP = "127.0.0.1"
  11. localPort = 8080
  12. remotePort = 8080
  13. transport.useEncryption = true
  14. transport.useCompression = true
复制代码

四、反向代理
添加vw.example.com的DNS记录,并配置Apache反向代理。
  1. <IfModule mod_ssl.c>
  2. <VirtualHost *:443>
  3.     ServerName vw.example.com

  4.     # [Vaultwarden]反向代理
  5.     ProxyPass "/" "http://127.0.0.1:8080/"
  6.     ProxyPassReverse "/" "http://127.0.0.1:8080/"

  7. SSLCertificateFile /etc/letsencrypt/live/vw.example.com/cert.pem
  8. SSLCertificateKeyFile /etc/letsencrypt/live/vw.example.com/privkey.pem
  9. Include /etc/letsencrypt/options-ssl-apache.conf
  10. SSLCertificateChainFile /etc/letsencrypt/live/vw.example.com/chain.pem
  11. </VirtualHost>
  12. </IfModule>
复制代码
反向代理完成后,可以通过https://vw.example.com访问Vaultwarden进行使用了。

五、客户端
打开Bitwarden的客户端,服务器选择自托管。

img-3.jpg

输入服务器URL使用客户端登录。

img-4.jpg


nngceckbapebfimnlniiiahkandclblb_8054.crx (15.88 MB, 下载次数: 2)
Bitwarden Password Manager_2025.1.2.apk (66.79 MB, 下载次数: 2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

VIP会员|Archiver|小黑屋|手机版|i am Bug

GMT+8, 2026-6-5 09:11 , Processed in 0.020796 second(s), 22 queries .

Powered by Discuz!

Copyright © 2021-2026, i am Bug.

快速回复 返回顶部 返回列表