Autenticação de 2 fatores no SSH usando chave pública e PAM

9

Estou tentando configurar a autenticação de dois fatores. Quero que o usuário efetue login com êxito se:

  • A chave pública privada / pública corresponde (método de autenticação: publickey) ou a senha está correta
  • Meu método de autenticação pam foi bem-sucedido.

O segundo método de autenticação é um arquivo PAM. Então eu colocá-lo em /usr/lib/pam/e acrescentou auth required my_pam_module.soem /etc/pam.d/sshd.
Até agora, posso fazer login usando o (método publickey) ou (uma senha e o que for necessário para mim, módulo pam). Então eu adicionei AuthenticationMethods publickey,keyboard-interactiveem /etc/sshd_confige agora estou obrigado a ter a chave pública, senha, e "o que for necessário por mim pam módulo".

Quais linhas eu preciso alterar para alcançar o que descrevi acima? Estou usando o Mac OS X Mavericks (10.9). Se você não estiver familiarizado com o Mac, também poderá ajudar o que você faria no seu sistema Linux.

Matt3o12
fonte

Respostas:

2

É bastante fácil para "publickey-> password-> your_module" ou "password-> your_module". Não é possível encontrar a maneira de remover a senha da primeira cadeia

publickey, keyboard-interactive - significa que a autenticação de chave pública será usada e o teclado será interativo depois disso (tipo AND lógico), substitua vírgula por espaço para OR lógico, como

AuthenticationMethods publickey, teclado-interativo: pam teclado-interativo: pam

Dmitri Sosnik
fonte
Quando eu escrevo keyboard-interactive:pamno config, eu estou recebendo este erro:ssh_exchange_identification: Connection closed by remote host
Matt3o12
Tente executar o cliente ssh no modo detalhado, ele fornecerá mais informações sobre o que está acontecendo de errado. Como, 'ssh -vvv <hostname>'
Dmitri Sosnik 23/07
aqui está o log detalhado do ssh: pastebin.com/hXTaCJ6f . Você também pode encontrar partes relevantes do log do meu servidor abaixo (as coisas mais recentes relatadas pelo sshd). Preciso substituir o pam por "my_pam_method"?
Matt3o12
Apenas imaginando, você adicionou "ChallengeResponseAuthentication yes" e "UsePAM yes" à configuração do sshd?
Dmitri Sosnik
Não foi definido como sim, mas eu mudei, embora nada tenha mudado (ainda com o mesmo erro). Isso funcionou para você? E se sim, qual OpenSSL você está usando?
Matt3o12