2 使用公钥和 PAM 进行 SSH 中的因素身份验证

2 使用公钥和 PAM 进行 SSH 中的因素身份验证

我正在尝试设置两因素身份验证。我希望用户在以下情况下成功登录:

  • 公私钥/公钥匹配(认证方式:publickey)或密码正确
  • 我的pam验证方法成功了。

第二种身份验证方法是 PAM 文件。所以我将它放入/usr/lib/pam/并添加auth required my_pam_module.so/etc/pam.d/sshd.
到目前为止,我可以使用(公钥方法)或(密码以及我的 pam 模块所需的任何内容)登录。所以我添加了AuthenticationMethods publickey,keyboard-interactive/etc/sshd_config现在我需要拥有公钥、密码和“我的 pam 模块所需的任何内容”。

为了实现我上面描述的目标,我需要改变哪些行?我使用的是 Mac OS X Mavericks (10.9)。如果您不熟悉 Mac,它也可以帮助您在 Linux 系统上执行操作。

答案1

对于“publickey->password->your_module”或“password->your_module”来说非常简单。找不到从第一链中删除密码的方法

publickey,keyboard-interactive - 意味着将使用 publickey 身份验证并在此之后进行键盘交互(逻辑 AND 类型),将逗号替换为逻辑 OR 的空格,例如

身份验证方法 publickey、键盘交互:pam 键盘交互:pam

相关内容