Ambos PreferredAuthentications=password
e PreferredAuthentications=keyboard-interactive
pediriam a senha, então qual é a diferença entre eles?
Eu pesquisei no Google com as palavras-chave ssh PreferredAuthentications password diferença interativa do teclado, mas não encontrei respostas.
A única diferença que notei são as strings de prompt ( user@host's password:
vs. Password:
):
$ ssh -o PreferredAuthentications=password,keyboard-interactive my-host
root@my-host's password:
Password:
Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive).
ATUALIZAÇÃO (09-04-2018):
Para fácil referência, o seguinte é do livro SSH: TDG, conforme mencionado na resposta de jouell .
"keyboard-interactive"
a autenticação do usuário tem como objetivo principal acomodar aPAM
autenticação no lado do servidor. Ele fornece um diálogo múltiplo de resposta ao desafio com o usuário no qual o servidor envia uma consulta de texto ao usuário, o usuário digita uma resposta e esse processo pode se repetir inúmeras vezes. Por exemplo, você pode configurar oPAM
SSH com um módulo que executa autenticação usando um token de segurança RSA ou um esquema de senha descartável. As pessoas ficam confusas com isso porque, por padrão, a"keyboard-interactive"
autenticação geralmente implementa a autenticação de senha em um único ciclo de desafio-resposta, que apenas solicita uma senha, parecendo exatamente o mesmo que"password"
autenticação. Se você não estiver usando deliberadamente os dois para fins diferentes, desabilite um ou outro para evitar confusão do usuário final.
fonte
Respostas:
O protocolo SSH possui vários métodos de autenticação. A senha e o teclado interativo são dois deles.
A autenticação de senha é uma solicitação simples para uma única senha. Não há nenhum prompt específico enviado pelo servidor. Portanto, é o cliente que escolhe como rotular o prompt (O "user @ senha do host" alerta é do OpenSSH clientes , como
ssh
,sftp
, etc.).A autenticação interativa por teclado é uma solicitação mais complexa para um número arbitrário de informações. Para cada informação, o servidor envia o rótulo do prompt. Além disso, ele permite que o servidor forneça uma descrição detalhada do "formulário" geral. O servidor também pode especificar quais entradas são secretas (precisam ser ofuscadas quando o usuário as digita) e quais não são.
Embora na maioria dos casos a autenticação interativa pelo teclado seja usada para solicitar um único prompt de senha "secreta", não há praticamente nenhuma diferença na autenticação da senha .
Essa é a diferença da perspectiva do protocolo.
Do ponto de vista da implementação, com o servidor OpenSSH, a autenticação interativa por teclado pode ser conectada a autenticações de dois fatores (ou múltiplos fatores), por exemplo, fornecidas pelo mecanismo PAM genérico ou Kerberos .
Da perspectiva do cliente, outra diferença é a localização. Com a autenticação de senha , o cliente pode localizar o rótulo "Senha" , porque sabe que o servidor está solicitando uma senha. Com a autenticação interativa por teclado , mesmo quando o servidor pede apenas uma única senha, o cliente não pode localizar o prompt (a menos que empregue AI), porque é um prompt genérico.
fonte
Você já sabe o que é 'senha'. De um nível muito alto (não do protocolo de nível de bloco), pense em 'teclado interativo' como o método para usar o 2FA usando Radius e / ou SecurID etc. Ele fornece diálogos de desafio e resposta: ssh.com tem um bom breve descrição. Ele vai além para destacar que o teclado interativo é o guarda-chuva em que a senha se enquadra. Respeitosamente para os autores, é um pouco confuso.
Veja também a definição do Snail Book . Usamos isso frequentemente para nossas caixas protegidas por RSA.
fonte