简介:Google-authenticator是基于时间的一次性密码算法(TOTP)是一种根据预共享的密钥与当前时间计算一次性密码的算法。它已被互联网工程任务组接纳为RFC 6238标准[1],成为主动开放认证(OATH)的基石,并被用于众多多重要素验证系统当中。
TOTP是散列消息认证码(HMAC)当中的一个例子。它结合一个私钥与当前时间戳,使用一个密码散列函数来生成一次性密码。由于网络延迟与时钟不同步可能导致密码接收者不得不尝试多次遇到正确的时间来进行身份验证,时间戳通常以30秒为间隔,从而避免反复尝试。

一、双因子认证搭建

搭建环境如下:CentOS Linux release 7.9.2009 (Core)、Authenticator1.0.2
不能翻墙的同学可以点击此处下载 authenticator包

Google-Authenticator默认认证方式为密码+验证码

1、安装authenticator所需依赖(此步骤非必须),然后下载Authenticator PAM插件,并按照如下步骤执行

##安装所需依赖
yum -y install wget gcc make pam-devel libpng-devel autoconf automake libtool libffi
##Google Authenticator PAM插件安装
wget https://github.com/google/google-authenticator/archive/1.02.tar.gz
##解压
tar -xzvf 1.02.tar.gz
##切换到libpam路径,并按顺序执行如下脚本
cd google-authenticator-1.02/libpam/
./bootstrap.sh
./configure
##编译并安装
make && make install

2、将生成的pam_google_authenticator.so,拷贝到/lib64/security/

安装完成后会生成/usr/local/lib/security/pam_google_authenticator.so

cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security/

3、执行google-authenticator

生成秘钥的方式有两种:交互式和非交互式,两者都会在将秘钥信息生成在~/.google-authenicator中

1)非交互式:/usr/local/bin/google-authenticator -t -f -d -r 3 -R 30 -w 21

2)交互式切换到/usr/local/bin/路径下执行google-authenticator,并按照提示生成秘钥信息;

3)移动端扫描上图生成的二维码

手机端下载authenticator工具,应用商店中任何与Authenticator相关的应用都可以使用,扫描生成的二维码

4)修改/etc/pam.d/sshd

#在第一行添加
auth required pam_google_authenticator.so

5)修改/etc/ssh/sshd_config

#修改如下内容
ChallengeResponseAuthentication yes
usePAM yes

上述修改完成之后重启 systemctl restart sshd

二、验证

节点间配置免密登录,进行ssh登录,输入验证码,即可成功登录

三、扩展(秘钥+验证码)

与密码+验证码验证相比,秘钥+验证码只需将4)5)的配置做如下修改即可

4)修改/etc/pam.d/sshd

ChallengeResponseAuthentication
#与密码+验证码相比增加如下配置
AuthenticationMethods publickey,password publickey,keyboard-interactive

5)修改/etc/ssh/sshd_config

auth required pam_google_authenticator.so
#除添加authenticator PAM认证之外,还需要将密码认证关闭
#auth substack password-auth

Google-Authenticator双因子认证相关推荐

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

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

  2. SSH 登录添加 Google Authenticator 两步验证 双因子认证

    SSH 登录添加 Google Authenticator 两步验证 双因子认证 安装 Google Authenticator # 时间与客户端进行校验,确保服务器时间与手机时间一致,避免时差导致严 ...

  3. 双因子认证系统登录模块

    双因子认证系统登录模块 实现原理: 一.用户需要开启Google Authenticator服务时,1.服务器随机生成一个类似于『DPI45HKISEXU6HG7』的密钥,并且把这个密钥保存在数据库中 ...

  4. Centos SSH双因子认证

    一.简介 双因子认证 – Two-factor authenticator(即 2FA),是一种通过组合两种不同的验证方式进行用户验证的机制. OpenSSH双因子认证是信息安全等级保护中较为重要的安 ...

  5. SSH加固配置谷歌双因子认证+更换手机方式

    SSH加固配置谷歌双因子认证+更换手机方式 注:为某一用户配置双因子认证,需切换到该用户下进行操作 1.更换yum源为阿里源 下载wget,用以更换yum源使用: sudo yum -y instal ...

  6. 企业自研业务系统的登录如何添加动态口令,实施MFA双因子认证?

    一.背景需求 不少企业因业务需要会自己研发业务系统,为保护业务数据安全,首先要确保能访问到业务数据的人员"身份"安全可信. 企业自研业务系统的账号密码基本是 IT 管理员单独管理维 ...

  7. 什么是双因子认证(2FA)

    双因子验证(2FA),有时又被称作两步验证或者双因素验证,是一种安全验证过程.在这一验证过程中,需要用户提供两种不同的认证因素来证明自己的身份,从而起到更好地保护用户证书和用户可访问的资源.双因子验证 ...

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

    一.什么是双因子认证 GitHub:https://github.com/LCTT/WeApp-Password 双因子认证(即 2FA),是一种通过组合两种不同的验证方式进行用户身份验证的机制. 在 ...

  9. 强制禁用gitlab的双因子认证:Two-Factor Authentication

    (一)问题描述: 此博客解决如下问题:禁用gitlab的双因子认证 禁用前,如图(此时,你在gitlab中什么也干不了) (二)思路分析: 百度了很多方法,都不可靠(如不可靠的说明:https://s ...

最新文章

  1. 那些总是写“烂代码”的同学,强烈推荐你用这款IDEA插件!
  2. NLP —— 图模型(三)pLSA(Probabilistic latent semantic analysis,概率隐性语义分析)模型...
  3. R语言实战-统计分析基础-描述性统计4-psych-describe
  4. python软件安装和使用方法_aws cli的安装及使用(内含python的安装方法)
  5. django-视图函数 00
  6. 笨办法学 Python · 续 练习 5:`cat`
  7. 原生js滚动到底部加载数据和下拉刷新 Scrollload
  8. python 指定gpu_加快Python算法的四个方法:Numba篇
  9. python中使用连续关系运算符_解释一下Python中的关系运算符
  10. java button 点击事件_android_button按钮onclick点击事件的几种写法
  11. 记:谷歌开发者大会2022——共码未来
  12. zotero导出PDF
  13. python txt转为csv
  14. PCB设计中抑制电磁干扰的几个准则及窍门
  15. java源代码审计报告_审计档案管理系统 - WEB源码|JSP源码/Java|源代码 - 源码中国...
  16. c++保存数据为txt格式
  17. ios打没有签名的ipa包
  18. 854. Floyd求最短路
  19. Python不用声明变量吗
  20. 会议论文与期刊论文的写作差异

热门文章

  1. 判断深度学习模型的稳定性_人工智能干货|一线工程师带你学习深度学习模型量化理论+实践...
  2. Fomo3D游戏第一轮结束,资金盘游戏终究要凉
  3. 汉文博士 0.5.7.2386 发布:更新统一码第 11 版的数据库
  4. java走向_Java 程序员走向“人生巅峰”的20个建议
  5. transformer引入位置信息--Sinusoidal位置编码《个人学习笔记》
  6. 中国全国行政区划代码人民政府经纬度Excel
  7. java cv bgr2gray_OpenCV color_bgr2gray错误
  8. 我的第一篇技术博客 —— 梦的开始
  9. OpenCV UMat类 使用GPU运算
  10. mysqladmin: unable to change password; error: ‘Your password does not satisf