OpenSSH U2F 作为第二个因素,并回退到 Google Authenticator

OpenSSH U2F 作为第二个因素,并回退到 Google Authenticator

我们使用 Google Authenticator 进行 2FA SSH 登录。它的配置/etc/pam.d/sshd如下:

@include common-password
auth required pam_google_authenticator.so nullok

你可能知道,OpenSSH 8.2 附带 U2F 密钥支持。我们希望按以下方式使用 U2F:

  1. 如果用户使用启用 U2F 的密钥进行身份验证,则无需询问 Google 身份验证器代码即可让他们进入。
  2. 如果用户使用简单密钥进行身份验证,请要求提供身份验证器代码。

我该如何实现这一目标? U2F 密钥属于特定类型(注意后缀-SK):

$ ssh-keygen -l -f ~/.ssh/id_ecdsa_sk.pub 
256 SHA256:8+ktnvXXshnIek7fEffbEQUhFvwZXOfahSHRagxcdbc pypt@NN (ECDSA-SK)

那么也许有一种方法可以将 PAM 配置为仅允许特定的密钥类型?

相关内容