When I create a new user account I ask users to send me a public key, and want to force users to set the password the first time they log in with keypair authentication. If I create an account with an impossible/disabled and expired password, but put a pubkey in their .ssh/authorized_keys file, the user is required to change his password at first login, but cannot enter his current one!
# adduser --disabled-password foo
…
# chage -d0 foo
What is a more appropriate way to go about this?

ChallengeResponseAuthentication? Any subsequent login will prefer the key. – bahamat Oct 12 '12 at 17:49