堡垒机安装google-authenticator

  公司线上的使用机器不能让用户随意的登陆,所以就不能让开发随意的登陆到生产的机器的。于是就打算使用google-auth的验证方式呢。

  如果google-auth的方式。

 搭建google-authenticator:

  搭建这个很简单,如下:

  git clone https://github.com/google/google-authenticator-libpam 下载最新的google auth 最新版。

  cd google-authenticator-libpam/

  ./bootstrap.sh

  ./configure && make && make install

  ln -s /usr/local/lib/security/pam_google_authenticator.so /lib64/security/pam_google_authenticator.so

  修改/etc/pam.d/sshd,

  #最上方加一行 "auth required pam_google_authenticator.so"
   #这个配置可以更复杂一些,加上一些参数,详见 libpam/README
   #注:如果遇到仍然需要输入密码的情况,改成 "auth sufficient pam_google_authenticator.so" 试试。

  修改/etc/ssh/sshd_config

  将 ChallengeResponseAuthentication 选项的 no 改成 yes

  将 UsePAM yes

  service sshd restart

  生成密钥

  $ google-authenticator    #注:运行这个命令的是需要登录的用户,不是root用户
  Do you want authentication tokens to be time-based (y/n) y  (确认:基于时间的认证token)
  【这里会显示生成二维码的地址、二维码、密钥明文、应急码】
  Do you want me to update your "/var/www/.google_authenticator" file (y/n) y (确认:更新配置文件)
  ......
  size of 1:30min to about 4min. Do you want to do so (y/n) n (token有效期是1.5min,选y就是4min)
  ......
  Do you want to enable rate-limiting (y/n) y (30s内只允许尝试三次)

  在app里扫二维码,或者手动输入密钥,即可看到token每隔30s更新一次了

  尝试登录
  $ ssh localhost
  verification code: 【输入验证码】
  password: 【输入密码】

补:

但当时只是简单加上了Google Authenticator,实际使用中既要输入验证又要输入密码,太繁琐了,所以在搭建我司跳板机的时候,选择了用 publickey + authenticator 的方案,只需要输入一次验证码即可。但是这里要求很多。如openssh的版本大于6.2,如果不是的话,就无法使用AuthenticationMethods,最好的方式是使用centos7的版本(已验证过可以使用)centos6.5测试无法使用(应该是我技术不行)。

具体的配置方案变化不大,主要是用上了 SSH 6.2+ 新增的 AuthenticationMethods 参数,可以指定一系列验证方法,具体配置如下:

引用

#默认需要先用publickey验证,再用验证码
AuthenticationMethods publickey,keyboard-interactive

#对于指定的IP,只需要publickey验证
Match Address 10.0.0.4
    AuthenticationMethods publickey

#也可以指定用户只需要publickey验证
#Match User XXX
    #AuthenticationMethods publickey

顺便吐槽一下,Linux这套东西折腾起来真是要命,今天配置跳板机备份机的时候,完全相同的配置,复制一份就是不对,虽然配置里只指定了publickey,keyboard-interactive,但是每次输完验证码以后还是要求输入密码才行,折腾了几个小时才发现,不知道从什么时候开始,"auth required pam_google_authenticator.so" 已经不合适了,需要改成 "auth sufficient pam_google_authenticator.so",这样才会在输入验证码以后就结束认证过程(sufficient的实现里加了一个break?什么鬼。)(感谢 @ https://serverfault.com/a/740881/343388

最后,提醒一下使用SecureCRT的同学,你需要在Session Options -> Connection -> SSH2,将Authentication中只选用 "Keyboard Interactive" ,否则没法正常登录。

  错误:configure: error: Unable to find the PAM library or the PAM header files

  方法:yum install -y pam-devel

  

引用:https://www.felix021.com/blog/read.php?2133

   https://www.felix021.com/blog/read.php?2172 

时间: 2024-10-01 04:20:54

堡垒机安装google-authenticator的相关文章

开源堡垒机安装测试上线部署详解-----麒麟开源堡垒机

近期出于管理和检查需要,单位领导要求上堡垒机系统,测试了几个商业堡垒机,因为价格超过预算等原因都未购买,又测试了三个开源的堡垒机,感觉麒麟开源堡垒机功能最全,基本上和商业堡垒机一样,唯一的问题就是图形部分不开源,但因为我们的服务器基本上全是LINUX环境,telnet.ssh.ftp.sftp已经足够了因此将这套堡垒机已经用于生产环境. 现在市场商业堡垒机价格太高,基本上都要到10万左右,我结合在公司部署开源堡垒机的经验,将过程写为文档与大家分享. 我测试的其它开源堡垒机基本上还是半成品,麒麟堡

麒麟开源堡垒机安装部署测试及优缺点总结

近期出于管理和检查需要,单位领导要求上堡垒机系统,测试了几个商业堡垒机,因为价格超过预算等原因都未购买,又测试了三个开源的堡垒机,感觉麒麟开源堡垒机功能最全,基本上和商业堡垒机一样,唯一的问题就是图形部分不开源,但因为我们的服务器基本上全是LINUX环境,TELNET.SSH.FTP.SFTP已经足够了因此将这套堡垒机已经用于生产环境. 现在市场商业堡垒机价格太高,基本上都要到10万左右,我结合在公司部署开源堡垒机的经验,将过程写成文档与大家分享. 我测试的其它开源堡垒机基本上还是半成品,麒麟堡

堡垒机-麒麟堡垒机安装过程

1.1 系统安装 1. 安装条件,系统必须至少有二块网卡,系统硬件为:Intel 64位CPU.4G内存(虚机与实体机都可以) 2. 插入光驱进行启动, 到了开机界面直接在install blj处按回车即可以进行安装系统会自动完成安装. 如果使用笔记本进行虚机安装,先选择install Pcvm,方式使用500M SWAP, 默认安装方式使用32G SWAP,这几个安装方式主要就是SWAP大小不同,如果使用虚机方式安装堡垒机,有可能出现SWAP不够用问题. 3. 安装过后,系统默认IP为: Et

堡垒机应用发布软件安装手册

1 麒麟开源堡垒机安装依赖软件包 在目录第一步安装依赖包,请先安装了如下五个软件: (1) 如果是Windows 2003,需要先在2003需要安装子目录中安装 wic_x86_chs.exe , IE8.exe,并且需要重新启动,如果2008可以直接做下面那步 (2) 以下三个软件2008,2003都需要安装 dotNetFx40_Full_x86_x64.exe vcredist_x86 .exe mysql-connector-odbc-5.1.9-win32.exe 以2008为例 1.

堡垒机jumpserver安装

Jumpserver堡垒机安装文档 一.环境 CentOS 6.x x86_64 service iptables stop 关闭SELinux的方法: 修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启. 如果不想重启系统,使用命令setenforce  0 二.安装依赖rpm yum -y install epel-release yum -y install git python-pip mysql-devel gcc aut

使用google authenticator打造运维平台的动态口令

前沿: 在腾讯,百度,阿里,360运维人员登录堡垒机,或者是单点登录引导的各种运维平台,好多都需要用动态口令令牌的,用rsa的多点,这栋系价格不便宜,国内也有些便宜的,一些游戏公司的将军令就是从国内x厂商定制买的,有兴趣的可以搜搜,价格还算可以,给你提供服务端的一些源码,让你方便的使用. 当然了,并不是每个公司都会这玩意感兴趣的,咋办?  不知道大家有没有用过 支付宝.dnspod.yy的电子口令,每30s换一次密码.dnspod.yy手机令牌貌似用的是google的token方案. 下图就是各

Google Authenticator SSH双重验证技术

    Technology - Site OPS Google Authenticator SSH双重验证技术 管理手册 目  录 第1章引言... 1 1.1 目的... 1 1.2 说明... 1 第2章 SSH 双重验证实现... 2 2.1 基础工作... 2 2.2 配置工作... 2 第3章手机客户端配置... 4 第4章 SSH 登录验证... 6 4.1XSHELL 登录验证... 6 4.2 跳板机登录... 7 4.3 总结... 8 第1章 引言 1.1 目的 SSH 安

python 堡垒机续-----终端方式

第一步:环境准备 堡垒机服务器:192.168.1.1 后端服务器1:192.168.1.2 后端服务器2:192.168.1.3 堡垒机安装paramiko 版本:paramiko-1.16.0 堡垒机python版本:Python 2.7.7   第二步:编写menu.py文件,实现类似菜单功能 #!/usr/bin/env python # encoding: utf-8 # @author: eddy # @contact: [email protected] # @site: http

开源堡垒机测试经历---麒麟开源堡垒机篇

近期出于管理和检查需要,单位领导要求上堡垒机系统,测试了几个商业堡垒机,因为价格超过预算等原因都未购买,又测试了三个开源的堡垒机,感觉麒麟开源堡垒机功能最全,基本上和商业堡垒机一样,唯一的问题就是图形部分不开源,但因为我们的服务器基本上全是LINUX环境,TELNET.SSH.FTP.SFTP已经足够了因此将这套堡垒机已经用于生产环境. 现在市场商业堡垒机价格太高,基本上都要到10万左右,我结合在公司部署开源堡垒机的经验,将过程写成文档与大家分享. 我测试的其它开源堡垒机基本上还是半成品,麒麟堡