现在的服务器(一般是堡垒机)为了保证安全,通常会采用双认证+防火墙的形式。双身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统。双认证是一种采用时间同步技术的系统,采用了基于时间、事件和密钥三变量而产生的一次性密码来代替传统的静态密码。每个动态密码卡都有一个唯一的密钥,该密钥同时存放在服务器端,每次认证时动态密码卡与服务器分别根据同样的密钥,同样的随机参数(时间、事件)和同样的算法计算了认证的动态密码,从而确保密码的一致性,从而实现了用户的认证。
google-authenticator+ssh 密码方式
1.在服务上编译安装 google-authenticator
git clone https://github.com/google/google-authenticator-libpam.git
./bootstrap.sh
./configure
make
sudo make install
执行./bootstrap.sh如果有报错,可能是缺少相关的库导致的,可能需要yum -y install autoconf automake libtool等
2.在/etc/pam.d/sshd的第一行添加
auth required pam_google_authenticator.so
3.修改/etc/ssh/sshd_config 开启 ChallengeResponseAuthentication
ChallengeResponseAuthentication yes
4.设置服务器,切换到需要启用 google-authenticator 的用户执行google-authenticator
$ google-authenticator
Do