标题:ssh两步验证强化版(publickey+google authenticator) 出处:Felix021 时间:Sun, 23 Apr 2017 00:15:37 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?2172 内容: 两年前学会了用Google Authenticator(详见为SSH添加两步验证),远程服务就装上了,感觉放心了很多。 但当时只是简单加上了Google Authenticator,实际使用中既要输入验证又要输入密码,太繁琐了,所以在搭建我司跳板机的时候,选择了用 publickey + authenticator 的方案,只需要输入一次验证码即可。 具体的配置方案变化不大,主要是用上了 SSH 6.2+ 新增的 AuthenticationMethods 参数,可以指定一系列验证方法,具体配置如下: 引用 #默认需要先用publickey验证,再用验证码 AuthenticationMethods publickey,keyboard-interactive #对于指定的IP,只需要publickey验证 Match Address 10.0.0.4 AuthenticationMethods publickey #也可以指定用户只需要publickey验证 #Match User XXX #AuthenticationMethods publickey 顺便吐槽一下,Linux这套东西折腾起来真是要命,今天配置跳板机备份机的时候,完全相同的配置,复制一份就是不对,虽然配置里只指定了publickey,keyboard-interactive,但是每次输完验证码以后还是要求输入密码才行,折腾了几个小时才发现,不知道从什么时候开始,"auth required pam_google_authenticator.so" 已经不合适了,需要改成 "auth sufficient pam_google_authenticator.so",这样才会在输入验证码以后就结束认证过程(sufficient的实现里加了一个break?什么鬼。)(感谢 @ https://serverfault.com/a/740881/343388) 以及,上篇也提到过的,另外一个坑是 ubuntu/debian 下面在自己编译完pam模块以后,需要手动拷贝到 /lib/security/ 目录下面才行,唉…… Generated by Bo-blog 2.1.0