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

Mat*_*o12 9 ssh authentication pam

我正在尝试设置 2 因素身份验证。如果出现以下情况,我希望用户成功登录:

  • 公私钥/公钥匹配(认证方式: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 系统上执行的操作。

Dmi*_*nik 2

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

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

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