Suponha que eu queira permitir apenas a autenticação SSH e desabilitar a autenticação por senha.
Em /etc/ssh/sshd_config
Eu normalmente fiz isso:
PasswordAuthentication no
Mas em algumas respostas as pessoas recomendam isso:
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
Como eles diferem? Qual é a maneira correta de desativar a autenticação de senha?
PasswordAuthentication
realiza um bate-papo estritamente "nome de usuário, senha", é um caso especial de um mais genéricoKbdInteractiveAuthentication
(para o qualChallengeResponseAuthentication
é um alias obsoleto), que pode fornecer bate-papo arbitrário, incluindo "nome de usuário, senha". Se você deseja desabilitar qualquer tipo de autenticação baseada em chat, você precisa desabilitar ambos.UsePAM
é necessário para fornecer suporte ao módulo de autenticação conectável do sistema para ambos (e, se ativado, requer a execução do sshd estritamente como root). É desativado por padrão.