如何使用 Bitwarden 和 Podman 管理你的密碼
在過去的一年中,你可能會遇到一些試圖向你推銷密碼管理器的廣告。比如 LastPass、1Password 或 Dashlane。密碼管理器消除了記住所有網站密碼的負擔。你不再需要使用重複或容易記住的密碼。相反,你只需要記住一個可以解鎖所有其他密碼的密碼。
透過使用一個強密碼而不是許多弱密碼,這可以使你更安全。如果你有基於雲的密碼管理器(例如 LastPass、1Password 或 Dashlane),你還可以跨裝置同步密碼。不幸的是,這些產品都不是開源的。幸運的是,還有其他開源替代品。
替代方案包括 Bitwarden、LessPass 或 KeePass。Bitwarden 是一款開源密碼管理器,它會將所有密碼加密儲存在伺服器上,它的工作方式與 LastPass、1Password 或 Dashlane 相同。LessPass 有點不同,因為它專注於成為無狀態密碼管理器。這意味著它根據主密碼、網站和使用者名稱生成密碼,而不是儲存加密的密碼。另一方面,KeePass 是一個基於檔案的密碼管理器,它的外掛和應用具有很大的靈活性。
這三個應用中的每一個都有其自身的缺點。Bitwarden 將所有東西儲存在一個地方,並透過其 API 和網站介面暴露給網路。LessPass 無法儲存自定義密碼,因為它是無狀態的,因此你需要使用它生成的密碼。KeePass 是一個基於檔案的密碼管理器,因此無法在裝置之間輕鬆同步。你可以使用雲端儲存和 WebDAV 來解決此問題,但是有許多客戶端不支援它,如果裝置無法正確同步,你可能會遇到檔案衝突。
本文重點介紹 Bitwarden。
有一個名為 bitwarden_rs 的伺服器及其 API 的社群實現。這個實現是完全開源的,因為它可以使用 SQLite 或 MariaDB/MySQL,而不是官方伺服器使用的專有 Microsoft SQL Server。
有一點重要的是要認識到官方和非官方版本之間存在一些差異。例如,官方伺服器已經由第三方稽核,而非官方伺服器還沒有。在實現方面,非官方版本缺少電子郵件確認和採用 Duo 或郵件碼的雙因素身份驗證。
讓我們在 SE 中執行伺服器。根據 bitwarden_rs 的文件,你可以如下構建一個 Podman :
$ podman run -d \ --userns=keep-id \ --name bitwarden \ -e SIGNUPS_ALLOWED=false \ -e ROCKET_PORT=8080 \ -v /home/egustavs/Bitwarden/bw-data/:/data/:Z \ -p 8080:8080 \ bitwardenrs/server:latest
這將下載 bitwarden_rs 映象並在使用者名稱空間下的使用者容器中執行它。它使用 1024 以上的埠,以便非 root 使用者可以繫結它。它還使用 :Z 更改卷的 SELinux 上下文,以防止在 /data 中的讀寫許可權問題。
如果你在某個域下託管它,建議將此伺服器放在 Apache 或 Nginx 的反向代理下。這樣,你可以使用 80 和 443 埠指向容器的 8080 埠,而無需以 root 身份執行容器。
Bitwarden 現在執行了,你可能希望保持這種狀態。接下來,建立一個使容器保持執行的單元檔案,如果它沒有響應則自動重新啟動,並在系統重啟後開始執行。建立檔案 /etc/systemd/system/bitwarden.service:
[Unit] Description=Bitwarden Podman container Wants=syslog.service [Service] User=egustavs Group=egustavs TimeoutStartSec=0 ExecStart=/usr/bin/podman run 'bitwarden' ExecStop=-/usr/bin/podman stop -t 10 'bitwarden' Restart=always RestartSec=30s KillMode=none [Install] WantedBy=multi-user.target
現在使用 sudo 啟用並啟動該服務:
$ sudo systemctl enable bitwarden.service && sudo systemctl start bitwarden.service $ systemctl status bitwarden.service bitwarden.service - Bitwarden Podman container Loaded: loaded (/etc/systemd/system/bitwarden.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2019-07-09 20:23:16 UTC; 1 day 14h ago Main PID: 14861 (podman) Tasks: 44 (limit: 4696) Memory: 463.4M
成功了!Bitwarden 現在執行了並將繼續執行。
如果你有域名,強烈建議你使用類似 LetsEncrypt 的加密證書執行你的 Bitwarden 例項。Certbot 是一個為我們建立 LetsEncrypt 證書的機器人,這裡有個在 Fedora 中操作的指南。
生成證書後,你可以按照 bitwarden_rs 指南中關於 HTTPS 的部分來。只要記得將 :Z 附加到 LetsEncrypt 來處理許可權,而不用更改埠。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2653588/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用 Bitwarden 和 Podman 管理你的密碼密碼
- Bitwarden 密碼管理器私庫安裝和使用密碼
- 使用Docker搭建自己的Bitwarden密碼管理服務Docker密碼
- podman安裝和普通使用者使用podman的方式及podman常用命令
- 使用碼雲管理你的專案程式碼
- 在 Linux 中用Seahorse管理你的密碼和加密金鑰Linux密碼加密
- 如何在 Windows 使用 Podman Desktop 取代 Docker DesktopWindowsDocker
- 如何加密傳輸和儲存使用者密碼加密密碼
- mysql如何修改root使用者的密碼MySql密碼
- 在WSL2的Ubuntu中安裝和使用Docker/PodmanUbuntuDocker
- 在 macOS 中使用 PodmanMac
- 如何使用不同的方式更改 Linux 使用者密碼Linux密碼
- 忘記oracle的sys密碼該如何重置;附如何修改oracle資料庫使用者密碼Oracle密碼資料庫
- Flutter 中使用 Widgetbook 管理你的元件Flutter元件
- flask框架如何實現修改密碼和免密登入功能Flask框架密碼
- 資料庫使用者名稱和密碼錯誤:如何解決?資料庫密碼
- mysql 8 如何重置 root 使用者密碼MySql密碼
- 密碼安全:密碼設定要求,密碼爆破辦法,密碼歸類使用,密碼處置方案密碼
- 在Podman、Kubernetes和OpenShift上使用Odo實現Java開發Java
- 如何使用密碼保護以太坊JSON-RPC的API?密碼JSONRPCAPI
- 作為產品經理,如何分析和管理你的產品需求
- FBI 為糟糕密碼使用者支招:可使用簡單的長密碼密碼
- 使用【Path Finder】來管理你的檔案
- 如何管理你的 Linux 環境變數Linux變數
- Podman
- EMQX伺服器配置使用者和密碼MQ伺服器密碼
- 群暉NAS忘記密碼如何重置密碼密碼
- PDF密碼忘記了,如何找回口令密碼密碼
- 數碼管的段選和位選
- SpreadJS使用進階指南 - 使用 NPM 管理你的專案JSNPM
- 快應用如何實現密碼明文和密文切換顯示密碼
- 使用supervisor管理你的nginx、php-fpm程式NginxPHP
- 怎麼使用pipenv管理你的python專案Python
- MySQL的Root使用者密碼MySql密碼
- 密碼是如何被竊取的密碼
- 使用者名稱和密碼輸入練習密碼
- Oracle 如何恢復sys使用者歷史密碼Oracle密碼
- 如何從 iPhone、iPad 和 Mac 共享 Wi-Fi 密碼iPhoneiPadMac密碼