用于ssh的PAM模块:如何知道用户是否使用密钥或密码进行身份验证

时间:2011-08-23 16:29:36

标签: ssh passwords key pam

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

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

1 个答案:

答案 0 :(得分:1)

我的合理猜测是sshd仅使用pam_auth进行键盘交互式登录。对于基于密钥的登录,不会调用pam_auth。通过编写自己的PAM模块来记录或重新使用某些现有模块的详细日志记录,可以相当容易地验证。

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

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

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