欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > 通过微信小程序“运维密码”实现SSH双因子认证

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:740

高端HTML5响应式企业通用网

2020-05-06   浏览:521

html5响应式外贸网站英文版

2020-05-08   浏览:510

HTML5自适应律师工作室类网

2020-04-04   浏览:504

HTML5影视传媒文化公司类网

2020-05-12   浏览:501

通过微信小程序“运维密码”实现SSH双因子认证

发布时间:2020-11-18  

近来,京东、优酷等多家知名企业都发生了密码泄露,造成用户隐私泄露。可见,单一密码对敏感和重要信息进行保护力量越来越弱,所面临的挑战亦是愈发严峻。因此业内对多重认证的呼声也越来越高,而其中的双因子认证得到了业界的普遍认可。本文主要介绍SSH双因子认证,结合了当下热门的微信小程序的“运维密码”,来实现认证保护。

 

双因子认证机制

 

对于网络信息系统来说,能否识别使用者的身份,是能否确保安全的基础和关键。在实际应用中,许多网络信息系统都会要求使用者在使用系统之前,提供一些相关信息用以实现对使用者的身份认证。双因子认证(2FA)弥补了传统密码认证方法的很多弊端,是指结合密码以及实物(信用卡、SMS手机、令牌或指纹等生物标志)两种条件对用户进行认证的方法。

 

SSH双因子认证

 

在实现多重认证的系统中,用户需要通过两种不同的认证程序:用户知道的信息(如用户名/密码)和用户不知道的信息(如用手机生成的一次性密码),想必绝大部分系统管理员都知道OTP,OTP即一次性口令,最常见的一次性口令是基于时间的一次性口令(TOTP),最常见的方式是采用Google身份验证器Google Authenticator来提供基于时间的一次性口令。

 

在SSH服务器端安装Google身份验证器服务器端组件,这样,在使用密码或密钥登录SSH服务器时,同时通过与Google身份验证器相匹配的客户端所提供的验证信息来确认登录者的身份和权限。由于Google身份验证器没有办法备份场景,这使得使用该身份验证器的人时时处于手机丢失的恐慌之中。于是Linux中国旗下的LCTT技术组开发了一款旨在移动互联网场景中提供更好的多因子认证体验的小程序:运维密码,基于微信平台提供OTP口令管理功能。

 

如何使用“运维密码”为SSH服务提供双因子认证支持

 

第一步,需要在运行着OpenSSH服务的Linux主机上安装Google身份验证器服务器端组件。

 

首先,安装构建Google身份验证器所需的软件包。

 

在CentOS、Fedora或RHEL上:

在CentOS上安装Google身份验证器服务器端组件,需要启用EPEL软件库,然后运行如下命令:

 

 

接着,下载 Google 身份验证器服务器端组件的源代码:

 

 

编译安装 Google 身份验证器服务器端组件:

 

 

如果构建成功,你会在目录中看到pam_google_authenticator.so和google-authenticator两个二进制文件。

 

最后,将Google身份验证器的服务器端组件安装到合适位置。其默认会安装到 /usr/local/lib/security下,根据你的系统不同,你可能需要将其符号链接到pam库的位置(比如CentOS7会在/usr/lib64/security)。如下图所示:

 

至此,Google身份验证器服务器端组件安装完成。

 

第二步,需要对Google身份验证器服务器端组件、“运维密码”、OpenSSH进行配置

 

先配置Google身份验证器服务器端组件

 

使用以下命令生成验证密钥:

 

这里需要输入y,选择基于时间生成验证码

 

之后你将看到一个代表着该“场景”密钥的二维码和密钥字符串,它使用如下二维码图形格式表示我们数字形态的密钥