开源啦!「运维密码」小程序携全新 UI 开源啦!
继前一段时间 Linux 中国推出了“运维密码”微信小程序之后,经过开发团队的努力,重构了代码和使用了全新的现代 UI 后,同时在 GitHub 上开源了!
“运维密码”小程序是一款工作在微信环境中的小程序,主要的功能是提供一款方便、可靠、美观的 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 开源的程序;
感谢微信提供的环境。