1

我正在为 ssh 服务编写一个 PAM 模块。我想知道如何在 PAM 模块中确定用户是否使用密码或密钥进行身份验证。

感谢您的帮助,期待您的回答!!!

4

1 回答 1

1

我的合理猜测是 sshd 仅使用 pam_auth 进行键盘交互登录。对于基于密钥的登录,不会调用 pam_auth。通过编写您自己的带有日志记录的 PAM 模块或重新使用某些现有模块的详细日志记录,应该很容易验证这一点。

请注意,我认为 sshd 总是使用 PAM 会话、帐户等。

我不确定为什么你需要检测你想要检测的东西。如果我的猜测是正确的,应该很容易想出一个 hacky 方法,但在我看来,你应该澄清这个问题。

事实上,https://stackoverflow.com/questions/7318754/pam-module-pam-prompt-conversation-function-problem似乎证实了我的猜测。:)

于 2011-12-30T16:54:08.077 回答