Atualmente, tenho um Ubuntu Server 12.04 executando o OpenSSH junto com o Samba e alguns outros serviços. No momento, tenho a autenticação de chave pública configurada e estou imaginando se é possível configurar a autenticação de dois fatores? Estive pesquisando no Google Authenticator, que atualmente uso com minha conta do Gmail.
Encontrei um módulo PAM que parece compatível, no entanto, parece que você é forçado a usar uma senha e o código gerado.
Gostaria de saber se existe uma maneira de usar o aplicativo Google Authenticator (ou algo semelhante) junto com minha chave pública para autenticar no meu servidor SSH?
ssh
authentication
public-key
two-factor
Burro de concreto
fonte
fonte
Respostas:
A Red Hat adicionou um patch ao OpenSSH no RHEL (e, portanto, no CentOS) 6.3 para exigir vários mecanismos de autenticação, para que você possa fazer algo assim:
Veja as notas de versão para obter mais detalhes.
Infelizmente, esse recurso não parece estar no OpenSSH upstream nem no Ubuntu 12.04, portanto, a menos que você queira encontrar o patch e recompilar o OpenSSH, receio que você esteja sem sorte.
fonte
AuthenticationMethods
para especificar vários métodos necessários, para que você possa exigir uma chave ssh e PAM, com o PAM executando o final do Google Authenticator.Você está procurando Duo Security
fonte
Você pode usar o módulo PAM do Google Authenticator e as chaves públicas, mas apenas um de cada vez será usado para uma determinada autenticação. Ou seja, se um usuário efetuar login com uma chave pública autorizada, nenhum token será necessário.
Ou, para dizer o contrário: os tokens são necessários apenas para autenticações de senha, não chaves SSH.
A propósito, essa limitação não vem do módulo Google Authenticator, mas do SSH, que implementa apenas a autenticação de dois fatores (via
ChallengeResponseAuthentication
) para o PAM, mas não chama o PAM quando uma chave pública válida é fornecida.fonte
AuthenticationMethods
parâmetro de configuração que pode inverter isso. Agora você pode exigir os dois.Esta pergunta é de 2012. Desde então, o SSH mudou e o protocolo SSH2 foi implementado.
Nas versões mais recentes do SSH (> = 6.2), o man sshd_config menciona:
Esta página http://lwn.net/Articles/544640/ também menciona a possibilidade de usar uma chave pública e uma autenticação PAM ao mesmo tempo.
fonte
Eu sei que essa pergunta é um pouco obsoleta, mas, para o futuro de pessoas (inclusive eu) que estão procurando uma solução, também se fala em usar a opção ForceCommand no arquivo sshd_config para executar um script que executa a autenticação. Há um exemplo de script aqui que você pode modificar um pouco de acordo com suas necessidades, embora nesse exemplo ele o chame a partir do arquivo allowed_keys em vez de torná-lo em todo o sistema com o ForceCommand do sshd_config.
fonte
Obtenha um YubiKey e siga este guia http://berrange.com/posts/2011/12/18/multi-factor-ssh-authentication-using-yubikey-and-ssh-public-keys-together/
AFAIK, esta é a melhor maneira de implementar o Yubikey no seu servidor para acesso SSH. O guia acima permite que você use chave pública + yubikey, enquanto que, se você seguir o guia oficial ( http://code.google.com/p/yubico-pam/wiki/YubikeyAndSSHViaPAM ), ele não funcionará com o public- chave.
Atenciosamente, Vip
fonte
Se você definir uma senha na sua chave privada, já terá uma autenticação de dois fatores. Para fazer login, as pessoas precisariam de:
fonte