使用Google身份验证进行ssh二次验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Google身份验证进行ssh二次验证相关的知识,希望对你有一定的参考价值。

什么是谷歌身份验证器

谷歌身份验证器,即Google Authenticator(Google身份验证器)v2.33 谷歌推出的一款动态口令工具,解决大家的google账户遭到恶意攻击的问题。

特点

1、透过QR图码自动设定
2、支持多个账户
3、支援多种语言

开始动手

1、编辑/etc/selinux/config文件,关闭selinux
SELINUX=disabled

2、yum安装相关程序
yum -y install gcc make pam-devel libpng-devel libtool wget git

3、安装Qrencode
yum install mercurial

4、使用git clone下载google-authenticator-libpam,安装google authenticator PAM插件
git clone https://github.com/google/google-authenticator-libpam.git

5、进入google-authenticator-libpam目录下,执行脚本
./bootstrap.sh && ./configure && make && make install

6、复制google 身份验证器pam模块到系统下
cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security/

7、配置/etc/pam.d/sshd文件,将认证模块添加
auth required pam_google_authenticator.so
技术分享图片

8、修改SSH服务配置/etc/ssh/sshd_config文件,将注释去掉
ChallengeResponseAuthentication yes

9、重启ssh服务
service sshd restart

10、切换到需要验证的系统账户,运行程序
google-authenticator
技术分享图片

11、谷歌身份验证器配置
技术分享图片
技术分享图片
技术分享图片


12、验证

接着在ssh的客户端里设置,如下,设置"Keyboard Interactive"方式登录

技术分享图片

然后再次连接的时候,就会提示先输入二次身份验证码,再输入用户密码。

技术分享图片

技术分享图片

技术分享图片




以上是关于使用Google身份验证进行ssh二次验证的主要内容,如果未能解决你的问题,请参考以下文章

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

Ansible 安全 之ssh登录二次验证

使用Google Authenticator给ssh进行登录验证

Flutter Firebase - 未能正确删除经过 Google 身份验证的用户

如何在第二次尝试 refreshToken 时修复“格式错误的身份验证代码”?

Google Home 授权代码和使用 Google 帐户进行身份验证