SSH登录双因素认证--Google Authenticator

2018年第一篇

从安全角度着想,对ssh登录机器进行双因素认证,本文介绍方法

1、创建用户

useradd user1

useradd user2

groupadd openstack

gpasswd -a user1 openstack


gpasswd -a user2 openstack


mkpasswd user1


mkpasswd user2


2、安装google-authenticator后:


cp google-authenticator /usr/local/bin/


cp pam_google_authenticator.so /lib64/security/


3、给普通用户添加sudo权限


sed -i '/^root/a\%openstack    ALL=(ALL)       NOPASSWD:ALL\' /etc/sudoers


4、修改ssh配置文件,使得ssh登录允许其他认证方式,并且只允许指定组的用户登录


sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config


sed -i '/Subsystem/a\AllowGroups root openstack\' /etc/ssh/sshd_config


systemctl restart sshd


5、在/etc/pam.d/sshd文件中添加:


auth       [success=1 default=ignore]   pam_succeed_if.so user notingroup openstack


auth       required     pam_google_authenticator.so


6、在指定用户目录下运行google-authenticator(/home/user1),会显示一个二维码和

secret key,会记录在一个隐藏文件.google-authenticator中,请保存好,将该隐藏文件copy到其他机器的/home/user1目录下,相同用户可公用一个key。


注意:要记得修改文件夹的权限:

chown -R user1:user1 /home/user1/


7、手机下载Google Authenticator,账户名随意输入,密钥需要输入刚刚.google-authenticator文件中的key值,即可产生6位数字,作为第二次登陆的密码。

SSH登录双因素认证--Google Authenticator_第1张图片


你可能感兴趣的:(SSH登录双因素认证--Google Authenticator)