2011-08-23 33 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似乎證實了我的猜測。 :)

相關問題