Pare de usar hosts.allow / hosts.deny completamente e reconfigure o sshd para proibir logins usando uma senha.
Os usuários só podem acessar as chaves agora.
Com o Denyhosts, como posso "colocar na lista de permissões" um usuário conhecido pelo nome de usuário mais o fato de que eles têm um par de chaves RSA válido (ou em combinação com algum outro fato conhecido sobre o usuário, como endereço MAC)?
Alguns antecedentes:
Em um servidor Ubuntu, o denyhosts está impedindo que alguns usuários de SSH (mas não todos) efetuem login. Os usuários são todos exatamente iguais - mesmo usando a mesma conta de usuário do Linux. Cada usuário tem um par de chaves RSA e efetua login apenas por meio de par de chaves. Não são permitidos logins SSH baseados em senha. (Estes são logins SSH automatizados para um servidor de atualização).
Se eu adicionar os endereços IP dos usuários problemáticos ao arquivo hosts.allow do Denyhost (e remover o endereço de qualquer arquivo restrito / negado), o usuário poderá fazer login como os outros usuários. Mas nenhum desses usuários tem endereços IP estáticos, portanto, isso não é uma solução.
Dado o fato de que esses usuários têm uma chave RSA válida e eles têm uma conta de usuário Linux, existe uma maneira de fazer com que os denyhosts parem de bloqueá-los (sem perturbar seu funcionamento adequado, especialmente para todos os possíveis invasores que tentam fazer o login com senhas inválidas)?
Atualização:
Eu tenho PasswordAuthentication no
e AllowUsers foo@*
em /etc/ssh/sshd_config
junto com as outras configurações relevantes para que meus usuários façam login com RSAAuthentication.
Claro, eu sempre posso parar de usar o Denyhosts. Mas minha pergunta é como posso fazer o Denyhosts funcionar da maneira que eu pretendo, então não preciso parar de usá-lo.
none of these users have static IP addresses
Ok, você não pode usar a autenticação baseada em host.
Possível solução:
Use AllowUsers
no /etc/ssh/sshd_config
por exemplo
AllowUsers foo@, bar@
ou melhor ainda
AllowUsers [email protected].*, [email protected].*, baz@111.*
o mesmo para DenyUsers
DenyUsers foo@badhost, [email protected].*, [email protected].*
Estes permitem configurar o acesso para qualquer tipo de requisito.