Centos6.5SSH登录使用google二次验证

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

工具/原料

 
  • CentOS 6.5
  • XShell

关闭SELINUX

 
  1. 1

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

    setenforce 0

  2. 2

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

     

    vim /etc/selinux/config

    SELINUX=disabled

    CentOS SSH登录使用google二次验证
    END

安装编辑工具包

 
  1. 1

    直接使用yum的静默安装

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

    CentOS SSH登录使用google二次验证
  2. 2

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

    CentOS SSH登录使用google二次验证
  3. 3

    安装Qrencode

     

    yum install mercurial

    CentOS SSH登录使用google二次验证
    END

安装google authenticator PAM插件

 
  1. 1

    使用git clone下载google-authenticator-libpam

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

    CentOS SSH登录使用google二次验证
  2. 2

    进入google-authenticator-libpam目录

    cd google-authenticator-libpam/

    CentOS SSH登录使用google二次验证
  3. 3

    编译并安装

     

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

    CentOS SSH登录使用google二次验证
  4. 4

    等待安装完成

    CentOS SSH登录使用google二次验证
  5. 5

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

     

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

    CentOS SSH登录使用google二次验证
  6. 6

    配置/etc/pam.d/sshd

     

    vim /etc/pam.d/sshd

    CentOS SSH登录使用google二次验证
  7. 7

    在前面添加

    auth required pam_google_authenticator.so

    CentOS SSH登录使用google二次验证
  8. 8

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

     

    ChallengeResponseAuthentication no 改为Yes

    CentOS SSH登录使用google二次验证
  9. 9

    重启ssh服务

     

    service sshd restart

    CentOS SSH登录使用google二次验证
  10. 10

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

    运行程序

    google-authenticator

    CentOS SSH登录使用google二次验证
  11. 11

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

    选择输入 y

     

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

    CentOS SSH登录使用google二次验证
  12. 12

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

    CentOS SSH登录使用google二次验证
  13. 13

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

    CentOS SSH登录使用google二次验证
    END

验证登录

 
  1.  

    手机安装Google身份验证器

    CentOS SSH登录使用google二次验证
  2.  

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

    这里是 ULDWV753HF5XTGGGWCCW5C4UAI

    CentOS SSH登录使用google二次验证
  3.  

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

    CentOS SSH登录使用google二次验证
  4.  

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

    CentOS SSH登录使用google二次验证
  5.  

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

    CentOS SSH登录使用google二次验证
  6.  

    然后是输入密码

    CentOS SSH登录使用google二次验证
  7. 7

    完成登录

    CentOS SSH登录使用google二次验证
  8.  

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

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

posted @ 2017-09-26 17:44  minseo  阅读(393)  评论(0编辑  收藏  举报