Linux 中国发布的第一款小程序：「运维密码」，你的好帮手
这是我们 Linux 中国旗下的 LCTT 技术组开发的第一款小程序，基于微信平台提供 OTP 口令管理功能。
Authenticator 验证 OTP 运维密码
119.130.187.4
great
来自广东广州的 Chrome 50.0|GNU/Linux 用户
2017-03-20T12:52:25.000
182.242.224.62
赞一个！
来自云南昆明的 Firefox 52.0|Windows 7 用户
2017-03-20T15:03:14.000
121.69.18.222
这个不错 可以说一下开发过程遇到的难题么
来自北京的 Chrome 51.0|Windows 10 用户
2017-03-20T17:39:06.000
114.218.169.196
我只有一个字：顶
hrj294055233 [Firefox 52.0|Ubuntu]
2017-03-20T22:08:53.000
45.62.100.103
前排支持
Vic [Chrome 57.0|GNU/Linux]
2017-03-24T16:47:41.000
这是我们 Linux 中国旗下的 LCTT 技术组开发的第一款小程序，基于微信平台提供 OTP 口令管理功能。
### 运维密码是什么？


这是我们 Linux 中国旗下的 LCTT 技术组开发的第一款小程序，基于微信平台提供 OTP 口令管理功能。


![](/data/attachment/album/201703/18/215908tznuk4e5agku7ke8.jpg)


想必绝大部分系统管理员都知道 OTP ，OTP 即<ruby> 一次性口令 <rp>  （ </rp> <rt>  One-Time Password </rt> <rp>  ） </rp></ruby>，最常见的一次性口令是<ruby> 基于时间的一次性口令 <rp>  （ </rp> <rt>  Time-based One-time Password </rt> <rp>  ） </rp></ruby>（TOTP），即每隔一段时间（如 60 秒）就生成一个一次性的六位数字的密码。这种一次性口令可以用于各种登录验证系统，比如 SSH、网站登录等等，只要验证系统和验证者持有相同的 OTP 种子，并采用一致的算法即可。


最常见的方式是采用 <ruby> <a href="https://github.com/google/google-authenticator/">  Google 身份验证器 </a> <rp>  （ </rp> <rt>  Google Authenticator </rt> <rp>  ） </rp></ruby>来提供基于时间的一次性口令（TOTP），也有采用 RSA 等公司提供的硬件 OTP 令牌进行一次性口令管理的。而我们这次推出的“运维密码”，即是一款采用和 <ruby> <a href="https://github.com/google/google-authenticator/">  Google 身份验证器 </a> <rt>  Google Authenticator </rt></ruby>相同的算法的微信小程序。


为什么要开发这样的一款小程序呢，请听我道来~


### 缘起


为什么要做这样一款小程序？ 


大概是因为 <ruby> <a href="https://github.com/google/google-authenticator/">  Google 身份验证器 </a> <rt>  Google Authenticator </rt></ruby> 无法满足我的需要，**没有办法备份场景**。这让我很是担心，假如我丢失了手机，我可能再也无法登录到我的服务器上去了。 


而且本身这个工具不是一个高频的应用，所以我们在考虑，能不能有这样的一种可能，让我们可以很方便地使用，同时也不会像App 一样过于侵扰我们的生活。 


微信小程序出现后，其随用随走的理念深得我们的喜爱。其强大的线上线下融合能力，也非常适合我们的需求。所以在微信小程序出现后，我们就一直在关注，看我们的想法能不能在微信小程序上得以实现。


### 为什么选择微信小程序


微信小程序在某些方面的理念和我们对于这款工具的理念是一致的。 


* 随用随走：我们希望我们的产品不会给用户产生过多的困扰，而是很方便就可以使用它。作为一款安全工具，我们不希望它对用户的生活产生太多的麻烦。
* 线上线下融合：微信小程序的形式让我们的用户只需要打开微信，扫一扫线下的二维码，就可以快捷、方便的拿到自己需要的动态密码。


### “运维密码”的优势


#### 备份功能


由于我们对于云服务的安全和隐私的担忧，所以我们将备份的功能做在了本地。当然，后续我们也会根据用户的不同偏好而推出基于云端的备份。


资源占用小


“运维密码”小程序不超过 200K，你只需要花费很少的流量，就可以实现和 <ruby> <a href="https://github.com/google/google-authenticator/">  Google 身份验证器 </a> <rt>  Google Authenticator </rt></ruby>的全部功能。


产品无感知迭代


我们会对“运维密码”不断的更新，当然，你可以无需担心更新带来的数据问题。我们的小程序会自动帮你做好升级的事情。


### 开始使用


你可以直接在微信小程序中的搜索框内搜索：


![微信小程序搜索框](/data/attachment/album/201703/20/093150egxbsrmytfg6y64l.jpg)


或者，在微信公众号“运维伙伴”的详情页中也有“运维密码”的入口：


![运维伙伴](/data/attachment/album/201703/20/093246gk0cgl0abbappjal.jpg)


或者，扫描下方二维码，添加运维密码小程序：


![](/data/attachment/album/201704/18/231228al1zerezh3p8t68t.jpg)


我还制作了一个简单的视频：







### 如何加入自己的场景？


打开“运维密码”，点击右下角的“扫描二维码”的按钮：


![扫码](/data/attachment/album/201703/18/215953non67m8ljoele7i0.png)


扫描服务商给你的“种子二维码”（这里包含了场景相关的信息），会自动识别，并且跳转到添加信息的界面：


![确认信息](/data/attachment/album/201703/18/215954s5ih3otzi4z1gzt3.png) 


确认信息无误后，点击添加。添加成功后，即可跳转到到运维密码的详情页： 


![添加成功](/data/attachment/album/201703/18/215955c0e9dste0uvtoeq8.png)


视频操作如下：







### 如何获取密码？


在“运维密码”的首页，你可以看到你所添加的场景的列表，从中可以直接看到当前的一次性密码。也可以用下述的场景二维码来获取。


### 生成场景二维码


点击某个场景，可以查看该场景的详情，在此可以生成该场景的场景二维码（不同于之前的服务商所提供的“种子二维码”）。将此二维码打印出来，贴于所应用的场景附近，如服务器或终端旁边，这样你可以在该服务器或终端旁边直接用微信扫描即可马上显示该场景当前的一次性密码。







### 备份与恢复


作为最重要的差异性功能，“运维密码”提供了场景的备份和恢复功能，从此再也不怕丢失了手机后无法登入。


#### 备份


首先进入“设置”，点击“本地场景备份”，会显示你的所有场景：


![确认本地备份](/data/attachment/album/201703/20/092028ndv6hoq8pcogvqn6.jpg)


确认后，会显示一个二维码图片，这个图片就是你的场景备份信息，千万保存好，也不要随意给别人。


视你所保存的场景多寡，这个二维码图片也尺寸和信息密度也有所不同。生成该备份信息会稍微有一些慢。


![场景备份](/data/attachment/album/201703/20/092453v9zywmwayjl9yhhn.jpg)


对此备份，可以截屏保存到本地，妥善保管即可。下一步我们还会推出加密保存，需要使用密码才能解开。


#### 恢复


如果因为某种原因，删除了场景或丢失了场景，你可以通过之前备份信息进行恢复，只需要选择你的备份二维码即可。重复的场景并不会覆盖。


![恢复场景](/data/attachment/album/201703/20/092840bssgguketffhee5e.jpg)


下一步，我们也会推出基于公有云或私有云的云端备份功能。


### 更多功能


更多使用细节，您可以亲自试试。我们也有一大波新的功能增强正在赶来~


### 入群体验


对此小程序感兴趣的同学，欢迎加入专属体验群，提出您的建议和反馈：


![](/data/attachment/album/201704/02/183637bp4ajo4sfomzf5qp.jpeg)


扫描上述二维码并添加好友后，验证信息：“运维密码”，即可获得加群邀请。


### 寄语


我们希望运维密码能够给你带来更加舒服的体验，如果你觉得哪里有不足的，也希望你能够告诉我们，让我们一起把它做的更好。


后继我们将对此小程序开源，也欢迎大家提供反馈、补丁和功能请求。

