仅在外部地址上进行两因素SSH身份验证


Answers:


15

是的,您可以使用完成此操作pam_access.so。该食谱摘自Wiki for Google Authenticator

一个有用的PAM方法是,当连接源自某些来源时,允许跳过两因素身份验证。PAM已经支持此功能。例如,pam_access模块​​可用于根据本地子网检查源:

# skip one-time password if logging in from the local network
auth [success=1 default=ignore] pam_access.so accessfile=/etc/security/access-local.conf
auth       required     pam_google_authenticator.so

在这种情况下,access-local.conf看起来像:

# only allow from local IP range
+ : ALL : 10.0.0.0/24
+ : ALL : LOCAL
- : ALL : ALL

因此,从10.0.0.0/24开始的登录尝试将不需要两步验证。


1
那正是我想要的。不知道为什么我以前没看到它。谢谢!
Brett F.

4
迈克尔·汉普顿(Michael Hampton)感谢您的示例,但这对我不起作用,因为我不断收到错误“权限被拒绝”(键盘交互)。我想通了,因为我用AuthenticationMethods publickey,keyboard-interactive了我的/etc/ssh/sshd_config。因此,我更改了以下内容进行修复:auth [success=done default=ignore] pam_access.so accessfile=/etc/security/access-local.conf auth optional pam_google_authenticator.so nullok
杰里米·莱尔德

@JeremyLaird这些行被蒙蒙了..换行符在哪里?
shadowbq
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.