Unexpected behavior with "-o PreferredAuthentications=password"
Damien Miller
djm at mindrot.org
Wed Jul 21 09:23:11 AEST 2021
On Tue, 20 Jul 2021, Jürgen Botz wrote:
> I currently have a lot of keys in my .ssh and this is sometimes a
> problem when logging into a system where I have to use a password
> because the total allowed authentication attempts are exceeded
> before it gets to the password. So I had been using
> "-o PreferredAuthentications=password" in those cases. But I just
> found that there's a gotcha with this... on a specific host that had
> a pam configuration to use a 2nd factor (google-authenticator) I
> kept getting "Permission denied; please try again." after the
> password prompt and never getting to the prompt for the authenticator
> code. From a different client where I didn't need to use the
> PreferredAuthentications option it worked fine. Eventually I noticed
> two things...
>
> 1) The password prompt was different; when I used
> PreferredAuthentications it looked like "user at host password:", but
> when I didn't use that option it just says "Password:" (note the capital
> "P").
>
> 2) Using "-o PubkeyAuthentication=no" instead of
> PreferredAuthentications resolved my problem.
>
> It would seem that depending on those options the interaction between
> sshd and PAM is different. Is this is a bug, or am I missing something
> about the semantics of 'PreferredAuthentications=password'?
As others have pointed out, setting this option to just password
also disables the other authentication method that is often used
for password (and challenge-response) authentication.
You probably want:
PreferredAuthentications=keyboard-interactive,password
-d
More information about the openssh-unix-dev
mailing list