2011-08-23 35 views
1

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

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

+0

用户如何从sshd(即;非pam auth)进行身份验证似乎没有传递给pam会话。但是,您可能对pam ssh_agent_auth感兴趣,它通过转发代理中的密钥进行身份验证:http://pamsshagentauth.sourceforge.net/ –

回答

1

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

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

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

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

相关问题