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位数字,作为第二次登陆的密码。