Proibição da autenticação baseada em senha para SSH


Permitir somente logins baseados em chave privada à linha de comando remoto tem várias vantagens:

  • Os invasores não podem usar ataques de adivinhação de senha para invadir contas remotas no sistema.

  • Com chaves privadas protegidas por senha, um invasor precisa da senha e de uma cópia da chave privada. Com senhas, um invasor precisa apenas da senha.

  • Ao usar chaves privadas protegidas por senha com ssh-agent, a senha é digitada e exposta com menos frequência, além de o login ser mais conveniente para o usuário.

O servidor OpenSSH usa o parâmetro PasswordAuthentication no arquivo /etc/ssh/sshd_config para controlar se os usuários podem usar a autenticação baseada em senha ao fazer login no sistema.

PasswordAuthentication yes

Com o valor padrão de yes para o parâmetro PasswordAuthentication no arquivo /etc/ssh/sshd_config, o servidor SSH permita que os usuários usem a autenticação baseada em senha ao fazer login. O valor no para PasswordAuthentication impede que os usuários usem a autenticação baseada em senha.

Sempre que você alterar o arquivo /etc/ssh/sshd_config, será necessário recarregar o serviço sshd para que as alterações entrem em vigor.

Nota

Se você desativar a autenticação baseada em senha para ssh, deverá garantir que o arquivo ~/.ssh/authorized_keys do usuário no servidor remoto seja preenchido com sua chave pública, para que eles possam fazer login.

Referências