Políticas de autenticação ssh diferentes para contas diferentes

4

Sei que posso desativar a autenticação SSH com senha de texto simples para o usuário raiz (usando PermitRootLogin ) e ativá-la para todos os outros usuários. Mas eu preciso desabilitar senhas de texto para algumas lista de usuários (e manter somente autenticação de chaves públicas para elas). Para aqueles que não estão incluídos na lista, também preciso ativar a autenticação de senha.

Então, como posso ajustar diferentes políticas de SSH para diferentes usuários? Em sshd_config, encontrei apenas 2 argumentos:

PermitRootLogin without-password  # disable text password for root
PasswordAuthentication yes  # enable it for all other users

Gostaria de ter algumas configurações no estilo de dicionário, por exemplo:

user1Auth without-password
user2Auth without-password
user3Auth yes
...

P.S. Meu sistema operacional é o Ubuntu 14.04.

    
por VeLKerr 30.04.2017 / 22:42

1 resposta

8

Você pode usar as diretivas Match User ou Match Group :

Match Group usergroup
    PasswordAuthentication no

Se você não quiser usar grupos, poderá especificar cada usuário:

Match User user1,user2
    PasswordAuthentcation yes

Match User user3
    PasswordAuthentication no

Minha preferência é nunca atribuir privilégios diretamente aos usuários (não importa o sistema), então eu sempre uso grupos. Isso também traz o benefício de que você pode alterar a associação ao grupo sem precisar reiniciar o sshd.

NB. Essas linhas de configuração devem ser escritas abaixo de todas as outras configurações em /etc/sshd_config .

    
por 30.04.2017 / 22:51