【发布时间】:2019-09-29 18:24:28
【问题描述】:
我想问一个可能没有真正答案但可以挽救我生命的问题。
所以昨天我开始在我的所有服务器上使用 google-authenticator 进行第二因素身份验证。
我正在使用 Ansible 配置我的所有主机,因此显然与它建立连接对我来说非常重要,所以,我所做的是将这一行添加到我的 /etc/pam.d/ssh 文件中
auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
如果我符合我在 /etc/security/access-local.conf 中添加的规则,我认为它会返回成功
#localhost doesn't need two step verification
+ : ALL : <<localnetworkip>>/24
+ : ALL : LOCAL
#All other hosts need two step verification
- : ALL : ALL
所以我允许来自本地网络的任何机器。当我尝试从我的 ansible ssh 到主机(它不要求我提供验证码)但是当我尝试在同一个本地 IP 上运行 ansible playbook 时,这项工作有效:
致命:[宿主]:无法访问! => {"changed": false, "msg": "通过 ssh 连接主机失败:权限被拒绝(键盘交互)。", "unreachable": true}
我认为 Ansible 不知道如何处理键盘交互,有没有人设法绕过它?
谢谢
【问题讨论】:
标签: ansible google-authentication pam sshd google-authenticator