zoukankan      html  css  js  c++  java
  • 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

      之后出现的网址为生成的二维码图形地址(需要翻墙才能打开),还会生成密钥,以及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二次验证

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

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

  • 相关阅读:
    网络编程
    GUI编程
    Java数组
    Day24
    Day23
    Day22
    Day21
    Day20
    Day19
    Day18
  • 原文地址:https://www.cnblogs.com/minseo/p/7598004.html
Copyright © 2011-2022 走看看