Centos6.5SSH登录使用google二次验证
一般ssh登录服务器,只需要输入账号和密码,但为了更安全,在账号和密码之间再增加一个google的动态验证码。谷歌身份验证器生成的是动态验证码,默认30秒更新
安装google authenticator PAM插件
-
使用git clone下载google-authenticator-libpam
git clone https://github.com/google/google-authenticator-libpam.git
-
进入google-authenticator-libpam目录
cd google-authenticator-libpam/
-
编译并安装
./bootstrap.sh && ./configure && make && make install
-
等待安装完成
-
复制google 身份验证器pam模块到系统下
cp /usr/local/lib/security/pam_google_authenticator.so /lib64/security/
-
配置/etc/pam.d/sshd
vim /etc/pam.d/sshd
-
在前面添加
auth required pam_google_authenticator.so
-
修改SSH服务配置/etc/ssh/sshd_config
ChallengeResponseAuthentication no 改为Yes
-
重启ssh服务
service sshd restart
-
切换到需要验证的系统账户,这里以root用户为例
运行程序
google-authenticator
-
出现Do you want authentication tokens to be time-based (y/n)
选择输入 y
之后出现的网址为生成的二维码图形地址(需要FQ才能打开),还会生成密钥,以及5个紧急验证码(当无法获取动态验证码时使用,注意:这5个验证码用一个就会少一个!请保存好
-
之后出现的几个选择输入的地方,全输入y
-
退出xshell,重新登录,这里就需要google验证码了。
END
验证登录
-
手机安装Google身份验证器
-
点右下角+新加,选择手动输入(或者下载二维码扫描)
这里是 ULDWV753HF5XTGGGWCCW5C4UAI
-
添加完成后,会多出一个动态验证码
-
打开xshell(其他终端类似),选择登陆主机的属性。设置登陆方法为Keyboard Interactive
-
确定,然后连接。这里会弹出google验证的动态验证码,这个去手机Google身份验证器找到6位数的动态密码填上
-
然后是输入密码
-
完成登录
-
PS:安装配置使用xshell时验证失败,使用其他主机ssh到目的主机或者使用SecuerCRT验证成功
参考:http://jingyan.baidu.com/article/8ebacdf005f31149f75cd563.html