zoukankan      html  css  js  c++  java
  • ldap + kerberos + google authentication 实现两步验证

    第一步:ldap + kerberos 整合  ,参考之前的文章

    第二步:google authentication 安装配置,参考之前的文章

    第三步:整合 ldap + kerberos + google authentication

     1. 由于sshd默认在使用了秘钥或者kerberos验证的时候,就通过了验证,不再执行google authentication的动态密码验证,所以我们需要新版本的sshd的AuthenticationMethods选项

        支持,这个选项参数指定sshd必须完成的所有验证过程,可以包括:keyboard-interactive,gssapi-with-mic,publickey,password 这几个,用逗号隔开。

    2. 旧版本不支持AuthenticationMethods选项,所以首先需要升级openssh。

      2.1 为了避免升级过程中出现意外,导致ssh无法登陆,首先安装telnet-server,确保telnet可以登录服务器。

      2.2 升级openssh

         2.2.1 下载最新openssh源码编译安装,编译参数如下:

          ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-kerberos5 --with-md5-passwords && make && make install
        2.2.2 复制sshd启动脚本和添加开机启动

        cp contrib/redhat/sshd.init /etc/init.d/sshd && chkconfig --add sshd

        2.2.3 启动sshd并测试登录,测试登录完成,关闭telnet

    3. 配置sshd: 编辑 /etc/ssh/sshd_config

       PasswordAuthentication no

       AuthenticationMethods keyboard-interactive,gssapi-with-mic

    4. 配置pam,关闭密码验证:编辑/etc/pam.d/sshd

      注释掉auth       include      password-auth

    5. 重启sshd,并获取kerberos凭证,测试登录:

      5.1 是否要求输入google-authenticator的动态密码。

      5.2 输入动态密码后,是否不需要密码,直接使用kerberos登录。

     

  • 相关阅读:
    【设计模式】责任者模式
    【Java工具方法】给集合按数量分组
    【Spring】非Spring IOC容器下获取Spring IOC上下文的环境
    【Java】模板方法模式
    【RabbitMQ】CentOS安装RabbitMQ,及简单的Java客户端连接
    【RabbitMQ】RabbitMQ的一些基础概念
    【Spring】简单的Spring AOP注解示例
    【Web】URI和URL,及URL的编码
    【加密】对称加密算法
    【Normal Form】数据库表结构设计所遵从的范式
  • 原文地址:https://www.cnblogs.com/zhaojonjon/p/5987362.html
Copyright © 2011-2022 走看看