您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

时间:2020-08-03 10:19:36  来源:  作者:
CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

google Authenticator(谷歌身份验证器),是谷歌公司推出的一款动态令牌工具,解决账户使用时遭到的一些不安全的操作进行的“二次验证”,认证器基于RFC文档中的HOTP/TOTP算法实现 ,是一种从共享秘钥和时间或次数一次性令牌的算法。在实际应用中可以通过认证器方式对账户有更好的保护

下面在centos7下利用Google Authenticator实现SSH登录的二次身份验证

1、配置EPEL源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache
CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

2、安装Google Authenticator

yum install google-authenticator -y
CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

3、google-authenticator初始化配置

哪个账号需要动态验证码,切换到该账号下操作进行操作 下面创建如下一个账户进行操作

useradd yuanfan
passwd yuanfan
su - yuanfan
google-authenticatorYour new secret key is: G5RR2IJG2X74MI4ADW622R6PUA #如果在手机的谷歌身份验证器上不想通过"扫描条形码"的方式添加,就输入这个key,通过"手动输入验证码的方式"Your verification code is 906194
Your emergency scratch codes are:  
#下面会生成5个紧急验证码(当无法获取动态验证码或验证码不能使用时可以使用这5个),
#需要注意的是:这5个验证码用一个就会少一个!请保存好!
  45731126
  22009120
  27836115
  94685459
  48945214

Do you want me to update your "/home/yuanfan/.google_authenticator" file? (y/n) y #提示是否要更新验证文件,选择yDo you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y # 禁止使用相同口令
By default, a new token is generated every 30 seconds by the mobile App.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y #默认动态验证码在30秒内有效,由于客户端和服务器可能会存在时间差,可将时间增加到最长4分钟,是否要这么做:这里选择y
If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y #是否限制尝试次数,每30秒只能尝试最多3次,这里选择y进行限制
CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

4、修改SSH登录相关配置文件参数

如下行添加如下参数

vim /etc/pam.d/sshd  (如下位置增加下面一行)
auth required pam_google_authenticator.so


vim /etc/ssh/sshd_config 
将ChallengeResponseAuthentication修改为yes
ChallengeResponseAuthentication yes

service sshd restart
CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

5、手机下载google身份验证器

Android/ target=_blank class=infotextkey>安卓手机为例 扫描QR码方式来进行绑定

CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

6、登录验证测试

ssh yuanfan@localhost

然后输入手机google身份验证器生成的动态验证码(每30秒更新一次)

CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

SecureCRT登录时,将Keyboard Interactive登录方式调整为第一个位置

CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 


CentOS7下利用Google Authenticator实现SSH登录的二次身份验证

 

注意,如果没有用root用户进行第三步的操作,需要先其它用户登录后su root切换到root

https://wiki.archlinux.org/index.php/Google_Authenticator



Tags:CentOS7   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  Tags: CentOS7  点击:(1)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  Tags: CentOS7  点击:(7)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  Tags: CentOS7  点击:(7)  评论:(0)  加入收藏
概述我们知道SQL Server是微软公司推出的重要的数据库产品,通常情况下只支持部署在windows平台上。不过令人感到兴奋的是,从SQL Server 2017开始支持 linux系统。此 SQL Serve...【详细内容】
2021-12-17  Tags: CentOS7  点击:(13)  评论:(0)  加入收藏
准备安装包(PHP: Hypertext Preprocessor)下载安装包以及组件wget https://www.php.net/distributions/php-8.0.0.tar.bz2wget https://github.com/phpredis/phpredis/archive...【详细内容】
2021-11-09  Tags: CentOS7  点击:(40)  评论:(0)  加入收藏
在上一篇 VMware 安装 Centos7 详细过程 (新建虚拟机) 文章中详细说明了VMware新建虚拟机的每一个步骤,这一篇文章将详细记录CentOS的每一步的安装。0x01 引导界面虚拟机已经...【详细内容】
2021-09-17  Tags: CentOS7  点击:(77)  评论:(0)  加入收藏
养成良好习惯,在安装前先更新一下软件包,多数软件包更新主要是修补漏洞。 更新 CentOS 软件包yum -y update虽然也是可以不进行更新直接安装。安装 OpenVPN 和...【详细内容】
2021-09-02  Tags: CentOS7  点击:(105)  评论:(0)  加入收藏
Redis的可视化客户端目前较流行的有两个:Redis Desktop Manager 、 Redis Client 。Redis Client ,网络上大部分都是windows,完善说上有linux的jar.又是FQ,下载,却提示32位的不...【详细内容】
2021-07-28  Tags: CentOS7  点击:(91)  评论:(0)  加入收藏
一、环境说明本文中使用本地VM虚机部署测试。OS:CentOS Linux release 7.8.2003 (Core)虚机配置:2核CPU、4G内存①系统为CentOS 7.8 x64最小化安装,部署前已完成系统初始化、...【详细内容】
2021-06-25  Tags: CentOS7  点击:(141)  评论:(0)  加入收藏
一、准备机器  1、准备四台机器,(minio集群最少四台)。192.168.223.132 minio-1192.168.223.133 minio-2192.168.223.134 minio-3192.168.223.135 minio-4  2、编辑hosts文...【详细内容】
2021-05-19  Tags: CentOS7  点击:(191)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(8)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条