给ssh服务添加谷歌双重认证

本文主要讲解在centos7系统中添加谷歌验证器来开启ssh的双重认证从而提高ssh服务在使用密码登录的时候的安全性。

本文参考链接。

1、Linux上安装google验证器

首先我们需要启用epel仓库

1
yum install epel-release

然后我们需要安装相关依赖库

1
yum install pam-devel

接着直接安装google验证器

1
2
3
4
# 查看版本信息
yum list google-authenticator
# 直接安装
yum install google-authenticator

安装完成之后进行初始化配置,直接运行下面命令开始初始化配置

1
google-authenticator

初始化过程中生成二维码需要通过手机端的google身份验证器这个软件来扫描然后就可以添加到一个30s变化一次的动态密码;

另外还有一个生成的emergency scratch codes记得自己小心保存起来,这个是当手机丢失的时候用来紧急登录的;

其他的选项根据自己的需求进行选择,不知道的话就默认选择y即可。

2、给ssh启用google验证

1
echo "auth required pam_google_authenticator.so" >> /etc/pam.d/sshd 

修改ssh的配置文件/etc/ssh/sshd_config,将下列参数调整为yes

1
ChallengeResponseAuthentication yes

最后我们重启ssh服务即可

1
systemctl restart sshd

3、效果

重启之后需要再次使用密码进行ssh登录的时候就需要先输入前面的谷歌验证码才能再输入密码登录。

1
2
Verification code:
Password: