開源啦!「運維密碼」小程序攜全新 UI 開源啦!
「運維密碼」小程序是一款工作在微信環境中的小程序,主要的功能是提供一款方便、可靠、美觀的 TOTP 密鑰管理工具。TOTP 是基於時間的一次性密鑰方案,可以為用戶認證提供雙因子認證(2FA)的支持,即在通常的密碼之外,還額外通過另外一種方式來交叉認證以提升安全。
TOTP 認證,或者說雙因子認證,在得到 Google 的大力推進之後,得到了廣泛的互聯網業界的支持,包括 Google、GitHub 等重視互聯網安全的大型網站,也包括各類比特幣網站,均支持 TOTP RFC 草案所規定的 TOTP 演算法,並且 Google 還開源了其伺服器端實現和客戶端代碼。除此之外,TOTP 還廣泛應用於 Apple 、QQ、微博等各種需要雙因子認證的場景中。除了網站之外,對於我們運維人員來說,TOTP 還可以應用與伺服器的遠程管理上,為 SSH、SFTP、FTP 等提供安全、簡單、可靠的保障!
新版本介紹
好了,言歸正傳,我們來介紹一下本次新版本發布的情況。
本次版本迭代,我們毫不謙虛的將版本定位到 1.0.x,我們認為「運維密碼」的第一階段功能目標已經達成,目前主要有:
- 添加 TOTP 場景
- 查看 TOTP 密鑰
- 修改和刪除 TOTP 場景
- 生成場景二維碼
- 分享(克隆) TOTP 場景給朋友
- 本地備份 TOTP 場景信息
- 本地恢復 TOTP 場景信息
新的版本,採用了現代化的 UI 設計,看起來會更專業一點。
場景列表
場景列表會列出你已經添加的所有場景,最上方是時間進度條會顯示場景密鑰要更新的時間。在列表最下方,可以點擊「添加場景」,調出攝像頭來掃描密鑰二維碼來添加場景。
點擊場景列表中的場景密鑰,會複製該密鑰,以備手機上使用。
場景詳情
點擊場景列表中的場景(非密鑰區域),可以查看場景具體詳情,在此可以「分享」、「生成二維碼」、「編輯」乃至於「刪除」場景。
- 分享:請點擊頁面右上角的菜單,可以將該場景分享給你的朋友,這樣你的朋友就會得到一份該場景的完全複製品。切記!分享該場景會導致別人一直擁有該場景信息,並隨時生成密鑰(和你的場景生成相同的密鑰)。如果這不是你希望的結果,切勿分享。
- 生成二維碼:可以生成一份該場景特定的二維碼,將其列印出來貼於伺服器等物理環境處,使用時直接用微信掃描即可調出「運維密碼」小程序添加該場景。(註:該場景二維碼不同於用於添加場景的種子二維碼)
- 編輯和刪除:也可以對此場景進行編輯,尤其是你在添加場景時輸入的信息不夠明確時。也可以在此修改該場景的地點(我們後繼的版本會推出地點感知功能)。
生成的場景二維碼
場景備份與恢復
場景備份信息,請截屏安全保存
最重要的,「運維密碼」小程序提供了備份和恢復功能,這是 Google 所開源的 Google 身份驗證器所缺乏的最重要功能。有了備份功能,你就不用擔心手機丟失或更換手機的麻煩了。
目前我們提供了本地備份功能。限於微信小程序的限制,我們不能保存文件,只能將備份信息以二維碼的方式備份出來。您可以將該二維碼截屏,保存到安全可靠的地方,以備以後需要時恢復。
現階段沒有提供遠程雲端備份功能的主要原因是用戶可能憂慮雲端備份的隱私保障,因此,我們在沒有辦法提供一個可靠備份,連服務提供方也不能破解的方法之前,不會提供雲端備份功能。
開源啦!
作為一家倡導開源的社區,我們一定要親自踐行開源才算得上名至實歸。因此,我們在代碼重構穩定之後,第一時間就將「運維密碼」開源了出來。開源地址在:
https://github.com/LCTT/WeApp-Password
本項目採用 AGPL 3.0 協議開源。
歡迎大家復刻和提交拉取請求,有什麼錯誤和功能建議,也非常歡迎大家給我們提出 issue。
歡迎體驗
我們還開設了「運維密碼」小程序體驗群,歡迎大家到群內發表意見,以及尋求幫助。加入本群也可以及時體驗我們發布前的體驗版本,第一時刻嘗鮮。
運維密碼體驗群
掃描識別添加上面的好友,驗證信息:「運維密碼」,可獲得入群邀請。
使用參考
要在 OpenSSH 上使用 TOTP,請參考 netb2c 寫的《SSH 安全加固篇:通過「運維密碼」小程序實現 SSH 雙因子認證》。
我們還會陸續推出更多使用 「運維密碼」的文章,也歡迎大家給我們投稿。
哦,好像我沒有說到如何找到「運維密碼」——我想這一定難不倒你,不過假如你不知道的話,你可以如此這般:
- 在微信中「發現」->「小程序」中搜索「運維密碼」即可。
- 什麼,你的「發現」中沒有「小程序」,那你可以掃描下面這個二維碼,來嘗鮮你的第一個小程序:
運維密碼
致謝
感謝開發團隊的 @Bestony、betty、wxy;
感謝撰寫使用「運維密碼」的文章的同學:netb2c;
感謝「運維密碼」體驗群的諸位同學;
感謝 Google 開源的程序;
感謝微信提供的環境。
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive