一般ssh登录服务器,只需要输入账号和密码,但为了更安全,在账号和密码之间再增加一个google的动态验证码。谷歌身份验证器生成的是动态验证码,默认30秒更新

工具/原料

 
  • CentOS 6.5
  • XShell

关闭SELINUX

 
  1. 1

    使配置立即生效,但这样重起会失效

    setenforce 0

  2. 2

    打开selinux的配置文件,修改配置,使重启后依然关闭selinux

    vim /etc/selinux/config

    SELINUX=disabled

    END

安装编辑工具包

 
  1. 1

    直接使用yum的静默安装

    yum -y install gcc make pam-devel libpng-devel libtool wget git

  2. 2

    出现Complete!且中间没有Error说明安装完成

  3. 3

    安装Qrencode

    yum install mercurial

    END

安装google authenticator PAM插件

 
  1. 1

    使用git clone下载google-authenticator-libpam

    git clone https://github.com/google/google-authenticator-libpam.git

  2. 2

    进入google-authenticator-libpam目录

    cd google-authenticator-libpam/

  3. 3

    编译并安装

    ./bootstrap.sh && ./configure && make && make install

  4. 4

    等待安装完成

  5. 5

    复制google 身份验证器pam模块到系统下

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

  6. 6

    配置/etc/pam.d/sshd

    vim /etc/pam.d/sshd

  7. 7

    在前面添加

    auth required pam_google_authenticator.so

  8. 8

    修改SSH服务配置/etc/ssh/sshd_config

    ChallengeResponseAuthentication no 改为Yes

  9. 9

    重启ssh服务

    service sshd restart

  10. 10

    切换到需要验证的系统账户,这里以root用户为例

    运行程序

    google-authenticator

  11. 11

    出现Do you want authentication tokens to be time-based (y/n)

    选择输入 y

    之后出现的网址为生成的二维码图形地址(需要FQ才能打开),还会生成密钥,以及5个紧急验证码(当无法获取动态验证码时使用,注意:这5个验证码用一个就会少一个!请保存好

  12. 12

    之后出现的几个选择输入的地方,全输入y

  13. 13

    退出xshell,重新登录,这里就需要google验证码了。

    END

验证登录

 
  1.  

    手机安装Google身份验证器

  2.  

    点右下角+新加,选择手动输入(或者下载二维码扫描)

    这里是 ULDWV753HF5XTGGGWCCW5C4UAI

  3.  

    添加完成后,会多出一个动态验证码

  4.  

    打开xshell(其他终端类似),选择登陆主机的属性。设置登陆方法为Keyboard Interactive

  5.  

    确定,然后连接。这里会弹出google验证的动态验证码,这个去手机Google身份验证器找到6位数的动态密码填上

  6.  

    然后是输入密码

  7. 7

    完成登录

PS:安装配置使用xshell时验证失败,使用其他主机ssh到目的主机或者使用SecuerCRT验证成功

参考:http://jingyan.baidu.com/article/8ebacdf005f31149f75cd563.html

Centos6.5SSH登录使用google二次验证的更多相关文章

  1. 为Linux服务器的SSH登录启用Google两步验证

    对于Linux服务器而言使用密钥登录要比使用密码登录安全的多,毕竟当前网上存在多个脚本到处进行爆破. 这类脚本都是通过扫描IP端的开放端口并使用常见的密码进行登录尝试,因此修改端口号也是非常有必要的. ...

  2. SSH登录启用Google二次身份验证

    一般来说,使用ssh远程登录服务器,只需要输入账号和密码,显然这种方式不是很安全.为了安全着想,可以使用GoogleAuthenticator(谷歌身份验证器),以便在账号和密码之间再增加一个验证码, ...

  3. java实现谷歌二步验证 (Google Authenticator)

    准备: 一个谷歌二步验证APP,  我用的是ios 身份宝 资料: 1.Google Authenticator 原理及Java实现   //主要参考 https://blog.csdn.net/li ...

  4. PHP设置谷歌验证器(Google Authenticator)实现操作二步验证

    使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码.实现Google Authenticator功能需要服务 ...

  5. ssh登录二次验证,让服务器更安全。

    码云地址 sshdTwoVerification 介绍 ssh登录二次验证 问题:现在很多人的Linux服务器可能会被攻击,只校验一次后台用户名密码登录变得不再保险. 当然大家首先要做的是修改ssh服 ...

  6. 你知道怎么使用Google两步验证保护账户安全吗?

    目录 为什么我们需要使用它? 对有些人来说,盗取密码比您想象的更简单 什么是Google两步验证? 多一道安全防线 什么是Google Authenticator ? 使用Google两步验证的好处 ...

  7. GitHub 二次验证收不到短信咋办?

    身在天朝,用了国外的代码托管服务,会有些烦恼的. 网速慢就不说了,如果启用了二次验证,短信收不到那就悲催了. 之前的都能收到短信的,突然间尝试了很多天都不行,联系github的客服,几次的答复如下: ...

  8. Vue结合Django-Rest-Frameword结合实现登录认证(二)

    作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/2436173500265335 微信公众 ...

  9. Force.com微信企业号开发系列(一) - 启用二次验证

    微信于9月份推出企业号后引起了业界不小的反响,许多企业都在思索企业号将如何影响企业的运营,从本文开始,我将详细阐述微信企业号开发的相关知识,而本文将着重介绍如何实现更高安全机制的二次验证. 申请企业体 ...

随机推荐

  1. 第三百一十五节,Django框架,CSRF跨站请求伪造

    第三百一十五节,Django框架,CSRF跨站请求伪造  全局CSRF 如果要启用防止CSRF跨站请求伪造,就需要在中间件开启CSRF #中间件 MIDDLEWARE = [ 'django.midd ...

  2. vector push_back报错

    场景:定义了一个结构体,包含一个vector的成员变量,在给这个vTQ push_back数据的时候报错. typedef struct tag_TQInfo { int iTime; int iMa ...

  3. springcloud(十):服务网关zuul初级篇

    前面的文章我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个 ...

  4. JQuery为元素添加样式的实现方法

    由于jquery支持css3,所有能很好的兼容很多浏览器,所以通过jquery来使用css样式比较好 为定义好的css样式可以调用元素的css方法添加样式 $("span").cs ...

  5. DLL文件的使用

    一. 动态链接库 什么是动态链接库?DLL三个字母对于你来说一定很熟悉吧,它是Dynamic Link Library 的缩写形式,动态链接库 (DLL) 是作为共享函数库的可执行文件.动态链接提供了 ...

  6. oracle之trunc(sysdate)

    --截取后得到的仍为date数据类型 select trunc(sysdate) from dual;--2017-03-13 00:00:00select trunc(sysdate+1) from ...

  7. Android开发之程序猿必需要懂得Android的重要设计理念2(5.20更新版)

    上篇文章介绍了Android开发的设计理念的一部分,并没有得到博友们的多大认可,仅仅看到了一位博友在以下留言期待下一篇文章的发表,为了这小小的唯一支持.我决定继续把后面的8个要点介绍一下,自己也潜心反 ...

  8. Error: could not find java.dll如何解决

    安装配置Java环境变量,在命令行中运行java -version进行测试时却出现下面的问题: Error: opening registry key 'Software\JavaSoft\Java ...

  9. python2.0_s12_day9_事件驱动编程&异步IO

    论事件驱动与异步IO 事件驱动编程是一种编程范式,这里程序的执行流由外部事件来决定.它的特点是包含一个事件循环,当外部事件发生时使用回调机制来触发相应的处理.另外两种常见的编程范式是(单线程)同步以及 ...

  10. CentOS6.5安装图形界面(Gnome)

    因为是以最小化安装的Linux,无法使用图形界面,从网上看到资料,我使用yum安装果然很简单 ----------------------------------------------------- ...