Let PAM know about accepted pubkey?

Johan Ström johan at stromnet.se
Fri Feb 19 09:44:21 AEDT 2016


Hi,

first of: my familiarity with OpenSSH/Pam code-base is very limited.. 
Please excuse me if some of this does not make any sense or seems stupid!

I'm investigating if it is possible for a PAM module to find out which 
public key was accepted (when 'AuthenticationMethods 
publickey,keyboard-interactive' is used). From my digging in the source, 
it seems it is currently not.

Would it be possible to provide this information? Maybe using 
do_pam_putenv()? Would there be any security implications of doing this?

The reason I'm asking is that I'm looking into using 2FA (i.e. pubkey + 
pam_google_authenticator) for *some* of my SSH keys. For example, a SSH 
privkey on my trusted box can login without verification code, but 
another SSH privkey on my not-as-trusted box requires a verification 
code to login.

My initial thought was to implemented it through a pubkey whitelist in 
the specific PAM module, but other solutions might also be possible. 
Maybe a PAM module configured as "sufficient", which looks in a pubkey 
whitelist and accepts immediately, skipping any further PAM modules 
would work.


Thanks for any feedback!

Regards
Johan (who is not on the list and appreciates a direct CC!)


More information about the openssh-unix-dev mailing list