谷歌Google Authenticator实现双因素认证

参考:
https://www.cnblogs.com/hanyifeng/p/kevin4real.html

介绍:什么是双因素认证

双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统。双因素认证是一种采用时间同步技术的系统,采用了基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。

说白了,就像我们几年前去银行办卡送的口令牌,以及网易游戏中的将军令,在你使用网银或登陆游戏时会再让你输入动态口令的。

产品分类

市面上有基于硬件的,也有基于软件的产品,具体可以另搜啊,本人喜欢开源的东东,并找到了Google开源的二次认证系统Google Authenticator OpenSource,可以利用智能手机生产30秒动态口令配合登陆linux系统,该验证器提供了一个六位数的一次性密码。目前ios 和Android 都有客户端供于下载。

目的

1.实现登陆linux 服务器时,先输入动态口令,认证成功后,在下一步输入用户密码。如果口令失败,不会进行下一步的本地密码认证。

2.部署完成后,即使服务器不能上网,或者手机客户端不能上网,整个二步验证系统还是可以正常运行的。

基础+部署步骤

稍后补充
可以参考:https://010sec.cn/2018/02/16/useing-google-authenticator.html

1.Install the open source Google Authenticator PAM module

# 需要安装阿里云epel源
yum install google-authenticator pam-devel libpng-devel

2.Install Google Authenticator

在手机上根据自己的操作系统类型下载身份验证器(或者在谷歌浏览器端直接下载https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai)

3.Get the verification code

# 切换用户
[user@locaohost ~]$ google-authenticator -l test@test.com -t -d -r 3 -R 30 -w 3# 参数说明:
# google-authenticator -h 能看到可用的参数。上面命令用到的参数解释如下:
# -l 设置移动设备上的程序对应的 OTP 码的标签,便于区分不同的应用。
# -t 设置采用基于时间的验证。相应的也可以 -c 参数采用基于计数的验证。
# -d 禁止重用基于时间的验证码
# -r 限制登录频率
# -R 设置登录频率限制的时间间隔
# -w 设置时间窗的大小,主要在移动设备的时间不是准确同步的情况下比较有用

4.Change /etc/ssh/sshd_config

# 配置采用Public Key + Google Authenticator 认证
[root@server1 ~]# vim /etc/ssh/sshd_config 
Protocol 2
AuthenticationMethods  publickey,keyboard-interactive
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes

5.Change /etc/pam.d/sshd

[root@server1 ~]# vim /etc/pam.d/sshd
# 第一行添加:
auth [success=done new_authtok_reqd=done default=die] pam_google_authenticator.so nullok

6.Restart SSH Service

systemctl restart sshd

7.生成私钥和公钥

[root@server2 ~]# yum whatprovides rz
[root@server2 ~]# yum install lrzsz -y
[root@server2 .ssh]# ssh-copy-id localhost
[root@server2 .ssh]# cp id_rsa.pub authorized_keys
[root@server2 .ssh]# sz id_rsa.pub
[root@server2 .ssh]# sz id_rsa
[root@server2 .ssh]# chmod 600 authorized_keys
[root@server2 ~]# cat .google_authenticator
KEJLQ2QW426ZNCKTHNEZEXUUE4

生成OTP码之后就可以登陆了。
在这里插入图片描述

总结

总结Google双因素认证

  1. 配置阿里源
  2. 下载软件,浏览器端的下载地址 插件https://chrome.google.com/webstore/detail/authenticator/bhghoamapcdpbohphigoooaddinpkbai
    Centos端:https://codeload.github.com/yangcvo/Google-Authenticator/zip/master
  3. 解压 安装
    需要安装wget gcc unzip bzip2 make pam-devel libpng-devel几个软件 报错可能的原因就是有软件没有装上
    unzip Google-Authenticator-master.zip
    tar jxfv libpam-google-authenticator-1.0-source.tar.bz2
    tar xf libpam-google-authenticator-1.0-source.tar
    make & make install
    之后就可以看到生成了google-authenticator命令
  4. 生成OTP码
    google-authenticator -l test@test -t -d -r 3 -R 30 -w 3
  5. 修改两个配置文件 /etc/ssh/sshd -config与/etc/pam.d/sshd_config
  6. 上传公钥与私钥 尝试连接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27158.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Google-Authenticator双因子认证

简介:Google-authenticator是基于时间的一次性密码算法(TOTP)是一种根据预共享的密钥与当前时间计算一次性密码的算法。它已被互联网工程任务组接纳为RFC 6238标准[1],成为主动开放认证(OATH)的基石&#x…

通过谷歌身份验证器实现双保险认证(1)

目录 一、谷歌身份验证器 二、下载谷歌验证器 1.linux端下载 2.手机端下载 三、linux端安装 1.安装环境 2.解压 3.编译安装​编辑 4.使用 一、谷歌身份验证器 谷歌身份验证器(google authenticator)是谷歌推出的基于时间的一次性密码&#xff08…

微信消息推送配置token验证

留一篇帖子来避坑 在接口配置修改中,微信官方需要验证你申请时填写的url能够正常响应,会给你填写的url接口发送get请求,接口需要正确返回才能都配置成功。我按照指引查看文档: 这狗官方只给php示例也就算了,这php的代码…

四、登录验证功能

登录验证. 用户访问任何业务资源,都需要进行登录验证. *只有登录成功的用户才能访问业务资源 *没有登录成功的用户访问业务资源,跳转到登录页面 分析 1.过滤器 ①implements Filter{ init doFilter destroy } ②配置过滤器web.xml 2.拦截器: ①提供拦截…

用双因子认证2FA替换Google authenticator谷歌令牌,助力准上市公司实现等保安全审计

21世纪初,某人力资源科技公司试水HR SaaS赛道,以大客户为目标客群,持续深耕,稳扎稳打,如今已是一家专门为中大型企业提供一体化HR SaaS及人才管理产品/解决方案的头部企业。其产品覆盖了从员工招募、入职、管理到离职的…

5 客户端认证 OAuth2ClientAuthenticationFilter

客户端认证 https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication https://www.iana.org/assignments/oauth-parameters/oauth-parameters.xhtml#token-endpoint-auth-method 当访问 OAuth2 相关接口时(/oauth2/token、/oauth2/introspect、…

outlook突然变得很慢很卡

​outlook之前用的好好的,突然有一天变得很卡,特别是在上传附件后。 可能原因:没有勾选使用缓存Exchange模式,导致没有生成本地的同步ost文件,而是直接从服务器存取数据。 对应解决办法:到账户设置里&#…

学术海报Poster-- 模板分享

学术海报Poster-- 模板分享 0、引言1、下载地址百度网盘链接地址CSDN托管 2、模板样例 ⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计3077字,阅读大概需要3分钟 🌈更多学习内容…

世界杯球队分析

文章目录 1. 本文思路2.数据介绍2.1 results.csv数据集2.2 shootouts.csv数据集 3. 数据分析3.1 多维度分析3.2 数据分析案例3.2.1 导入模块3.2.2 导入数据1.遍历目录2.读取数据 3.2.3 查看描述数据1.查看数据2. 获取所有世界杯比赛的数据3. 查看包含FIFA的类型4. 获取世界杯数…

NBA比赛数据分析与预测

我的任务利用13到16年的NBA比赛统计数据,去预测17年的每场NBA比赛。数据是从http://www.basketball-reference.com/这个网站获得的。前期参考了https://www.shiyanlou.com/courses/782/labs/2647/document这里的分析与实现方法。这个实验楼里实现用了LogisticRegres…

使用python爬取足球比赛数据,关于足球预测策略模型,这是我见过唯一三年都盈利的

市场上有很多基于程序自动化的足球预测模型,我本人也不断摸索,自学python,最终实现了程序预测的自动化,并且验证了很多策略,几乎所有的模型都是阶段性表现很不错,但是长期总体下来,都达不到预期…

大数据+NCAA=?球迷情绪预测体育赛事结果

点击上方蓝字关注我们 每年三月,有一项赛事将吸引全世界篮球迷的眼光,那就是全国大学篮球联赛(NCAA)的“疯狂三月”。 “疯狂三月”指的是NCAA男子甲组(Division 1)篮球锦标赛,赛程从3月中旬持…

生成模型的2022年——人工智能AIGC顶级论文回顾

2022年是生成模型奇幻发展的一年,Stable Diffusion🎨创造了超现实主义的艺术, ChatGPT 💬回答了生命意义的问题,Make a Video🎥从文本生成了栩栩如生的马儿,DreamFusion✨生成了不可思议的三维模…

大语言模型

前言: Open AI推出Chat GPT后,风靡全球。AI的强大表现让人折服,带来的商业效应已经逐渐扩散开来。随着人工智能越来越强,未来人们的生活受到影响也会越来越广泛。 继 OpenAI 推出 ChatGPT 后,微软迅速上线基于 GPT 模型…

OpenAI 利用基于“一致性”的图像生成器超越扩散模型

图像生成领域发展迅速。 尽管 Midjourney 和 Stable Diffusion 等流行工具使用的扩散模型可能看起来是我们所拥有的最好的,但下一个东西总是会出现——OpenAI 可能会用“一致性模型”来解决它,它已经可以完成简单的任务和 数量级比 DALL-E 之类的快。 该…

扩散模型和Transformer梦幻联动!替换U-Net,一举拿下新SOTA!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>扩散模型微信技术交流群 转载自:量子位 “U-Net已死,Transformer成为扩散模型新SOTA了!” 就在ChatGPT占尽AI圈风头时,纽约大学…

扩散模型diffusion model用于图像恢复任务详细原理 (去雨,去雾等皆可),附实现代码

文章目录 1. 去噪扩散概率模型2. 前向扩散3. 反向采样3. 图像条件扩散模型4. 可以考虑改进的点5. 实现代码 话不多说,先上代码: 扩散模型diffusion model用于图像恢复完整可运行代码,附详细实验操作流程 令外一篇简化超分扩散模型SR3来实现图…

0基础学习diffusion_model扩散模型【易理解的公式推导】Denoising Diffusion Probabilistic Models

0基础学习diffusion_model扩散模型【易理解的公式推导】 一、概述二、扩散过程(已知X0求Xt)三、逆扩散过程(已知Xt求Xt-1)1。算法流程图四、结论五、损失函数六、心得体会(优缺点分析)一、概述 DDPM论文链接: Jonathan Ho_Denoising Diffusion Probabilistic Models(NeurIPS…

07.04.2023 日语笔记

貰『もら』える(可以……吗?) コーヒーをテイクアウトでもらえますか。(可以打包咖啡吗?) マグカップで、飲み物をもらえますか。(可以自带杯子吗?) マグカップ&#x…

红蓝宝书1000题 新日本语能力考试N1文字.词汇.文法 练习+详解

红蓝宝书1000题 新日本语能力考试N1文字.词汇.文法 练习详解pdf百度云免费下载 本书是继《新版中日交流标准日本语》初、中级后,由人民教育出版社与日本光村图书出版株式会社通力合作、精心编写的一套日语自学读本。 本书由知名的日本语学、汉学以及日语教育界的学者执笔,充分…