"\u003Cdiv\u003E\u003Cdiv class=\"pgc-img\"\u003E\u003Cimg src=\"http:\u002F\u002Fp3.pstatp.com\u002Flarge\u002Fpgc-image\u002F40f449811fb04a2c9749d8999bea91b8\" img_width=\"816\" img_height=\"345\" alt=\"使用 Bitwarden 和 Podman 管理你的密碼\" inline=\"0\"\u003E\u003Cp class=\"pgc-img-caption\"\u003E\u003C\u002Fp\u003E\u003C\u002Fdiv\u003E\u003Cblockquote\u003E\u003Cp\u003E通過使用一個強密碼而​​不是許多弱密碼,這可以使你更安全。\u003C\u002Fp\u003E\u003Cp\u003E-- Eric Gustavsson(作者)\u003C\u002Fp\u003E\u003C\u002Fblockquote\u003E\u003Cp\u003E在過去的一年中,你可能會遇到一些試圖向你推銷密碼管理器的廣告。比如 LastPass 、 1Password 或 Dashlane 。密碼管理器消除了記住所有網站密碼的負擔。你不再需要使用重複或容易記住的密碼。相反,你只需要記住一個可以解鎖所有其他密碼的密碼。\u003C\u002Fp\u003E\u003Cp\u003E通過使用一個強密碼而​​不是許多弱密碼,這可以使你更安全。如果你有基於雲的密碼管理器(例如 LastPass、1Password 或 Dashlane),你還可以跨設備同步密碼。不幸的是,這些產品都不是開源的。幸運的是,還有其他開源替代品。\u003C\u002Fp\u003E\u003Ch1 class=\"ql-align-center\"\u003E開源密碼管理器\u003C\u002Fh1\u003E\u003Cp\u003E替代方案包括 Bitwarden、 LessPass 或 KeePass 。Bitwarden 是一款 開源密碼管理器 ,它會將所有密碼加密存儲在服務器上,它的工作方式與 LastPass、1Password 或 Dashlane 相同。LessPass 有點不同,因爲它專注於成爲無狀態密碼管理器。這意味着它根據主密碼、網站和用戶名生成密碼,而不是保存加密的密碼。另一方面,KeePass 是一個基於文件的密碼管理器,它的插件和應用具有很大的靈活性。\u003C\u002Fp\u003E\u003Cp\u003E這三個應用中的每一個都有其自身的缺點。Bitwarden 將所有東西保存在一個地方,並通過其 API 和網站接口暴露給網絡。LessPass 無法保存自定義密碼,因爲它是無狀態的,因此你需要使用它生成的密碼。KeePass 是一個基於文件的密碼管理器,因此無法在設備之間輕鬆同步。你可以使用雲存儲和 WebDAV 來解決此問題,但是有許多客戶端不支持它,如果設備無法正確同步,你可能會遇到文件衝突。\u003C\u002Fp\u003E\u003Cp\u003E本文重點介紹 Bitwarden。\u003C\u002Fp\u003E\u003Ch1 class=\"ql-align-center\"\u003E運行非官方的 Bitwarden 實現\u003C\u002Fh1\u003E\u003Cp\u003E有一個名爲 bitwarden_rs 的服務器及其 API 的社區實現。這個實現是完全開源的,因爲它可以使用 SQLite 或 MariaDB\u002FMySQL,而不是官方服務器使用的專有 Microsoft SQL Server。\u003C\u002Fp\u003E\u003Cp\u003E有一點重要的是要認識到官方和非官方版本之間存在一些差異。例如, 官方服務器已經由第三方審覈 ,而非官方服務器還沒有。在實現方面,非官方版本缺少 電子郵件確認和採用 Duo 或郵件碼的雙因素身份驗證 。\u003C\u002Fp\u003E\u003Cp\u003E讓我們在 SELinux 中運行服務器。根據 bitwarden_rs 的文檔,你可以如下構建一個 Podman 命令:\u003C\u002Fp\u003E\u003Cpre\u003E$ podman run -d \\\u003Cbr\u003E --userns=keep-id \\\u003Cbr\u003E --name bitwarden \\\u003Cbr\u003E -e SIGNUPS_ALLOWED=false \\\u003Cbr\u003E -e ROCKET_PORT=8080 \\\u003Cbr\u003E -v \u002Fhome\u002Fegustavs\u002FBitwarden\u002Fbw-data\u002F:\u002Fdata\u002F:Z \\\u003Cbr\u003E -p 8080:8080 \\\u003Cbr\u003E bitwardenrs\u002Fserver:latest\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Cp\u003E這將下載 bitwarden_rs 鏡像並在用戶命名空間下的用戶容器中運行它。它使用 1024 以上的端口,以便非 root 用戶可以綁定它。它還使用 :Z 更改卷的 SELinux 上下文,以防止在 \u002Fdata 中的讀寫權限問題。\u003C\u002Fp\u003E\u003Cp\u003E如果你在某個域下託管它,建議將此服務器放在 Apache 或 Nginx 的反向代理下。這樣,你可以使用 80 和 443 端口指向容器的 8080 端口,而無需以 root 身份運行容器。\u003C\u002Fp\u003E\u003Ch1 class=\"ql-align-center\"\u003E在 systemd 下運行\u003C\u002Fh1\u003E\u003Cp\u003EBitwarden 現在運行了,你可能希望保持這種狀態。接下來,創建一個使容器保持運行的單元文件,如果它沒有響應則自動重新啓動,並在系統重啓後開始運行。創建文件 \u002Fetc\u002Fsystemd\u002Fsystem\u002Fbitwarden.service:\u003C\u002Fp\u003E\u003Cpre\u003E[Unit]\u003Cbr\u003EDescription=Bitwarden Podman container\u003Cbr\u003EWants=syslog.service\u003Cbr\u003E[Service]\u003Cbr\u003EUser=egustavs\u003Cbr\u003EGroup=egustavs\u003Cbr\u003ETimeoutStartSec=0\u003Cbr\u003EExecStart=\u002Fusr\u002Fbin\u002Fpodman run 'bitwarden'\u003Cbr\u003EExecStop=-\u002Fusr\u002Fbin\u002Fpodman stop -t 10 'bitwarden'\u003Cbr\u003ERestart=always\u003Cbr\u003ERestartSec=30s\u003Cbr\u003EKillMode=none\u003Cbr\u003E[Install]\u003Cbr\u003EWantedBy=multi-user.target\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Cp\u003E現在使用 sudo 啓用並啓動該服務:\u003C\u002Fp\u003E\u003Cpre\u003E$ sudo systemctl enable bitwarden.service && sudo systemctl start bitwarden.service\u003Cbr\u003E$ systemctl status bitwarden.service\u003Cbr\u003Ebitwarden.service - Bitwarden Podman container\u003Cbr\u003E Loaded: loaded (\u002Fetc\u002Fsystemd\u002Fsystem\u002Fbitwarden.service; enabled; vendor preset: disabled)\u003Cbr\u003E Active: active (running) since Tue 2019-07-09 20:23:16 UTC; 1 day 14h ago\u003Cbr\u003E Main PID: 14861 (podman)\u003Cbr\u003E Tasks: 44 (limit: 4696)\u003Cbr\u003E Memory: 463.4M\u003Cbr\u003E\u003C\u002Fpre\u003E\u003Cp\u003E成功了!Bitwarden 現在運行了並將繼續運行。\u003C\u002Fp\u003E\u003Ch1 class=\"ql-align-center\"\u003E添加 LetsEncrypt\u003C\u002Fh1\u003E\u003Cp\u003E如果你有域名,強烈建議你使用類似 LetsEncrypt 的加密證書運行你的 Bitwarden 實例。Certbot 是一個爲我們創建 LetsEncrypt 證書的機器人,這裏有個 在 Fedora 中操作的指南 。\u003C\u002Fp\u003E\u003Cp\u003E生成證書後,你可以按照 bitwarden_rs 指南中關於 HTTPS 的部分來 。只要記得將 :Z 附加到 LetsEncrypt 來處理權限,而不用更改端口。\u003C\u002Fp\u003E\u003Chr\u003E\u003Cp\u003E照片由 CMDR Shane 拍攝,發表在 Unsplash 上。\u003C\u002Fp\u003E\u003Chr\u003E\u003Cp\u003Evia: https:\u002F\u002Ffedoramagazine.org\u002Fmanage-your-passwords-with-bitwarden-and-podman\u002F\u003C\u002Fp\u003E\u003Cp\u003E作者: Eric Gustavsson 選題: lujun9972 譯者: geekpi 校對: wxy\u003C\u002Fp\u003E\u003Cp\u003E本文由 LCTT 原創編譯, Linux中國 榮譽推出\u003C\u002Fp\u003E\u003Ch1 class=\"ql-align-center\"\u003E點擊“瞭解更多”可訪問文內鏈接\u003C\u002Fh1\u003E\u003C\u002Fdiv\u003E"'.slice(6, -6), groupId: '6720851114469622276
相關文章