我们使用 Google Authenticator 进行 2FA SSH 登录。它的配置/etc/pam.d/sshd
如下:
@include common-password
auth required pam_google_authenticator.so nullok
你可能知道,OpenSSH 8.2 附带 U2F 密钥支持。我们希望按以下方式使用 U2F:
- 如果用户使用启用 U2F 的密钥进行身份验证,则无需询问 Google 身份验证器代码即可让他们进入。
- 如果用户使用简单密钥进行身份验证,请要求提供身份验证器代码。
我该如何实现这一目标? U2F 密钥属于特定类型(注意后缀-SK
):
$ ssh-keygen -l -f ~/.ssh/id_ecdsa_sk.pub
256 SHA256:8+ktnvXXshnIek7fEffbEQUhFvwZXOfahSHRagxcdbc pypt@NN (ECDSA-SK)
那么也许有一种方法可以将 PAM 配置为仅允许特定的密钥类型?