Alguém pode explicar a 'PasswordAuthentication' no arquivo / etc / ssh / sshd_config?

28

Por esta página , a explicação dada é:

A opção PasswordAuthentication especifica se devemos usar a autenticação baseada em senha. Para segurança forte, esta opção deve sempre ser configurada como yes.

Mas ele não fornece nenhum cenário de caso de uso que esclareça quando um Sim ou não seria apropriado. Alguém por favor pode elaborar mais?

Zeta2
fonte

Respostas:

22

Seu link aponta para a documentação 10 anos desatualizada.

O SSH suporta várias maneiras de autenticar usuários, a mais comum é pedir um login e uma senha, mas você também pode autenticar um usuário e uma chave pública. Se você definir PasswordAuthentication como no, não poderá mais usar um login e senha para se autenticar e, em vez disso, deverá usar um login e uma chave pública (se PubkeyAuthentication estiver definido como yes)

raio
fonte
ok, então, apenas para o autorizado_key2: (1) comente o AuthorizedKeysFile (2) PasswordAuthentication no (3) PubkeyAuthentication yes (4) ChallengeResponseAuthentication no (5) teste-o ... se ele ainda aceita senhas, adicione UsePam no
YumYumYum
Use estas configurações: fpaste.org/114544/04202660 quando apenas permitir logon SSH via ~ / .ssh /
allowed_keys2
11
e qual é o valor padrão dele? Quero dizer, e se eu não especificar nenhum "PasswordAuthentication"?
Riccardo SCE
@TSERiccardo: Ninguém respondeu à sua pergunta? É uma pena, culpa ASSIM!
Timo
11
@RiccardoSCE De acordo com a página de manual sshd_config, o padrão para PasswordAuthentication é 'yes'.
Estrela do
53

Observe que a configuração PasswordAuthentication não controla TODA a autenticação baseada em senha. ChallengeResponseAuthentication geralmente também pede senhas.

O PasswordAuthentication controla o suporte ao esquema de autenticação 'password' definido no RFC-4252 (seção 8). ChallengeResponseAuthentication controla o suporte ao esquema de autenticação 'interativo por teclado' definido no RFC-4256. O esquema de autenticação "interativo pelo teclado" poderia, em teoria, fazer ao usuário várias perguntas multifacetadas. Na prática, geralmente solicita apenas a senha do usuário.

Se você deseja desativar totalmente a autenticação baseada em senha, defina BOTH PasswordAuthentication e ChallengeResponseAuthentication como 'no'. Se você tem uma mentalidade de cinto e suspensórios, considere definir o UsePAM como 'não' também.

A autenticação baseada em chave pública / privada (ativada pela configuração PubkeyAuthentication) é um tipo separado de autenticação que não envolve o envio de senhas de usuário para o servidor, é claro.

Alguns argumentam que o uso do ChallengeResponseAuthentication é mais seguro que o PasswordAuthentication, porque é mais difícil de automatizar. Portanto, eles recomendam deixar o PasswordAuthentication desativado e deixar o ChallengeResponseAuthentication ativado. Essa configuração também incentiva (mas não necessariamente impede) o uso da autenticação de chave pública para logins automatizados do sistema. Mas, como o SSH é um protocolo baseado em rede, o servidor não tem como garantir que as respostas ao ChallengeResponseAuthentication (também conhecidas como 'teclado interativo') sejam realmente fornecidas por um usuário sentado em um teclado, desde que o (s) desafio (s) sempre e consiste apenas em pedir a senha de um usuário.

Izzy
fonte
7
Eu gostaria de receber alguma explicação sobre o que UsePAMfaz ...
Alexey
3

PasswordAuthentication é a implementação mais fácil, pois não há nada a fazer. A parte contrária é que você envia sua senha, por uma conexão criptografada, para o servidor. Isso pode ser um problema de segurança se o servidor tiver sido comprometido, pois a senha poderá ser capturada.
Com chave pública, sua senha não é transmitida ao servidor, é mais segura, mas precisa de mais configuração.

kaklon
fonte
Essa resposta é um pouco antiga, mas gostaria de acrescentar algo: a grande vantagem da autenticação Pubkey é que nenhum segredo é transmitido ao servidor. A chave privada permanece secreta no seu computador, ou seja, você não pode transmitir acidentalmente nenhum tipo de segredo para um servidor comprometido ou MITM. Portanto, o Pubkey é definitivamente favorável à autenticação por senha. De qualquer forma, sim, a autenticação de senha é muito mais fácil de implementar.
Jan
Não seria um incômodo configurá-lo, apenas a par de ser preguiçoso para não fazê-lo.
sudo
0

Você pode defini-lo como não ao usar as teclas ou forçar o uso delas.

Ignacio Vazquez-Abrams
fonte