自行搭建 Bitwarden 服務

1 Bitwarden 是什麼

能看到這篇文章的,通常已經知道 Bitwarden 是什麼了。
簡單講,Bitwarden 是一個密碼管理軟件,主要功能包括:

  • 能夠生成複雜的密碼,避免你在註冊的時候使用相同的、簡單的密碼
  • 記錄你的賬號、密碼,並支持雲同步,這些數據和通信都是經過加密的
  • 在 iOS、Android、PC 瀏覽器中進行集成,方便你快捷登錄,而不用擔心忘記密碼
  • 支持加密筆記,保存你的信用卡等私密信息

更多信息可以通過 Bitwarden 官網 來了解
簡單來講就是 1Password 的競品。而 1Password 服務需要付費,而 Bitwarden 是免費的(提供增值服務),同時還是開源的。
如果你不想使用 Bitwarden 的雲服務,也可以自建服務器。

2 Bitwarden 的服務端程序安裝準備

2.1 有自己的 VPS 或者家裏有一個主機 / NAS

顯然這是必要的

2.2 準備一個域名和一個 SSL 證書

騰訊雲、阿里雲等都有提供非常便宜的域名購買,而且會贈送 SSL 證書(需要申請);
當然也有 noip 等提供免費域名服務,但是這些域名通常需要定期確認,所以還是比較麻煩的。

2.3 安裝 docker 和 docker-compose

Bitwarden 服務端是通過 docker-compose 的方式提供的,官網有具體的安裝教程,如果你還沒安裝,可以參考

1.4 有一個不錯的網(ti)絡(zi)

很多服務需要下載,並且沒有鏡像服務器,所以你需要有一個不錯的網絡,能夠設置命令行的 proxy。

3 Bitwarden 服務的安裝

Bitwarden 提供了一個腳本來進行相關的管理。整個過程其實封裝地非常簡單

# 強烈建議爲 bitwarden 的腳本創建一個文件夾
mkdir bitwarden

curl -Lso bitwarden.sh https://go.btwrdn.co/bw-sh
sudo chmod +x bitwarden.sh
# 查看幫助
./bitwarden.sh help

# 進行安裝,主要是 docker 相關分支的下載
./bitwarden.sh install
# 安裝過程中會需要填寫域名、證書等相關信息,填錯了也不要緊,安裝完成後依然可以修改這些配置
# 安裝完成後,會在當前目錄下生成一個 bwdata 目錄,相關文件均會放在文件夾中

4 服務配置

我們需要把 SSL 的證書放到 bwdata/ssl 文件夾下。例如我的證書和密鑰分別放在 bwdata/ssl/etc/ssl/ca_bundle.crtbwdata/ssl/etc/ssl/private.key

我們可以查看 bitwarden 的具體配置

cd bwdata
vi config.yml

裏邊配置項最主要需要確認的包括

# 配置外部訪問的 URL
url: https://www.abc.com

# 配置 http 端口,如果爲空,則 http 端口關閉
http_port: 80

# 配置 https 端口,外部可以通過這個地址進行訪問
https_port: 8080

# 設置 ssl 證書的路徑,附在 ./ssl 路徑後
# 這個證書需要是 key 和 certificate 的 bundle
ssl_certificate_path: /etc/ssl/ca_bundle.crt
# 最終生成的地址會是 ./ssl/etc/ssl/ca_bundle.crt

# 設置 ssl key 的文件路徑,附在 ./ssl 路徑後
ssl_key_path: /etc/ssl/private.key
# 最終生成的地址會是 ./ssl/etc/ssl/private.key

除此外還需要配置一個 identity.pfx 證書,請進入你的證書和密鑰所在的目錄

openssl pkcs12 -export -out identity.pfx -inkey 密鑰文件 -in 證書文件

生成過程中會讓你輸入一個密碼,請打開 bwdata/env/global.override.env 文件,找到 globalSettings__identityServer__certificatePassword 選項,並把這一項的值改爲這個密碼

最請把剛剛生成的 identity.pfx 文件放到 bwdata/identity 文件夾下

至此,完整的配置完成,但是你需要重新構建一個 docker-compose 相關的文件

# 請先返回 bitwarden.sh 所在的目錄
./bitwarden.sh rebuild

5 調試與使用

# 運行 bitwarden
./bitwarden.sh start

# 查看相關鏡像的狀態,包括端口映射的情況
docker ps

# 如果發現問題,可以查看日誌
cd bwdata/logs
# 你的問題可能主要集中在 nginx 中,那麼可以
cd nginx
tail error.log
# 通常是你的證書有問題,例如
## 你的證書文件不是 key 和 certificate 的 bundle,那就仔細看下證書文件
## 你當前的用戶沒有文件的讀寫權限,那麼請 chmod 或 chown
## 你的文件沒放到正確的目錄下,請檢查你的文件目錄

至此,安裝和調試完成,你可以嘗試通過 https://網址:端口 來進行訪問,並註冊一個賬號。

6 客戶端的使用

這裏只談如何切換服務器。
在各個端的登錄頁面,都能明顯看見一個齒輪圖標,可以在這裏對使用的服務器進行設置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章